DC-Build-Header: pearpc 0.5.dfsg-2 / Sat Jun 23 16:33:53 +0000 2012 DC-Task: logfile:/tmp/pearpc_0.5.dfsg-2_unstable_clang.log version:0.5.dfsg-2 chroot:unstable modes:binary-only:clang source:pearpc architecture:any esttime:97 DC-Sbuild-call: su user -c 'sbuild -n --apt-update -d unstable -v --chroot-setup-commands=/tmp/switch-to-clang pearpc_0.5.dfsg-2' sbuild (Debian sbuild) 0.62.5 (13 Jul 2011) on ip-10-28-116-6.ec2.internal ╔══════════════════════════════════════════════════════════════════════════════╗ ║ pearpc 0.5.dfsg-2 (amd64) 23 Jun 2012 16:33 ║ ╚══════════════════════════════════════════════════════════════════════════════╝ Package: pearpc Version: 0.5.dfsg-2 Source Version: 0.5.dfsg-2 Distribution: unstable Architecture: amd64 I: NOTICE: Log filtering will replace 'build/pearpc-zV8qIL/pearpc-0.5.dfsg' with '«PKGBUILDDIR»' I: NOTICE: Log filtering will replace 'build/pearpc-zV8qIL' with '«BUILDDIR»' I: NOTICE: Log filtering will replace 'var/lib/schroot/mount/unstable-amd64-sbuild-f4cdd36f-5dc9-4e8a-9ea6-353c8458cab3' with '«CHROOT»' ┌──────────────────────────────────────────────────────────────────────────────┐ │ Update chroot │ └──────────────────────────────────────────────────────────────────────────────┘ Ign http://localhost unstable InRelease Get:1 http://localhost unstable Release.gpg [836 B] Get:2 http://localhost unstable Release [233 kB] Get:3 http://localhost unstable/main Sources/DiffIndex [7876 B] Get:4 http://localhost unstable/main amd64 Packages/DiffIndex [7876 B] Get:5 http://localhost unstable/main Translation-en/DiffIndex [7876 B] Get:6 http://localhost unstable/main 2012-06-23-0814.36.pdiff [8967 B] Get:7 http://localhost unstable/main 2012-06-23-0814.36.pdiff [8967 B] Get:8 http://localhost unstable/main amd64 2012-06-23-0814.36.pdiff [6101 B] Get:9 http://localhost unstable/main 2012-06-23-0814.36.pdiff [1297 B] Get:10 http://localhost unstable/main amd64 2012-06-23-0814.36.pdiff [6101 B] Get:11 http://localhost unstable/main 2012-06-23-1414.42.pdiff [10.6 kB] Get:12 http://localhost unstable/main 2012-06-23-0814.36.pdiff [1297 B] Get:13 http://localhost unstable/main amd64 2012-06-23-1414.42.pdiff [11.3 kB] Get:14 http://localhost unstable/main 2012-06-23-1414.42.pdiff [10.6 kB] Get:15 http://localhost unstable/main 2012-06-23-1414.42.pdiff [696 B] Get:16 http://localhost unstable/main amd64 2012-06-23-1414.42.pdiff [11.3 kB] Get:17 http://localhost unstable/main 2012-06-23-1414.42.pdiff [696 B] Fetched 296 kB in 7s (41.3 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... The following packages will be upgraded: base-passwd bsdutils libblkid1 libmount1 libuuid1 mount util-linux 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 1300 kB of archives. After this operation, 308 kB disk space will be freed. Get:1 http://localhost/debian/ unstable/main mount amd64 2.20.1-5.1 [213 kB] Get:2 http://localhost/debian/ unstable/main util-linux amd64 2.20.1-5.1 [659 kB] Get:3 http://localhost/debian/ unstable/main base-passwd amd64 3.5.26 [46.3 kB] Get:4 http://localhost/debian/ unstable/main bsdutils amd64 1:2.20.1-5.1 [85.3 kB] Get:5 http://localhost/debian/ unstable/main libuuid1 amd64 2.20.1-5.1 [56.9 kB] Get:6 http://localhost/debian/ unstable/main libblkid1 amd64 2.20.1-5.1 [120 kB] Get:7 http://localhost/debian/ unstable/main libmount1 amd64 2.20.1-5.1 [120 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 1300 kB in 0s (13.3 MB/s) (Reading database ... 11730 files and directories currently installed.) Preparing to replace mount 2.20.1-5 (using .../mount_2.20.1-5.1_amd64.deb) ... Unpacking replacement mount ... Setting up mount (2.20.1-5.1) ... (Reading database ... 11730 files and directories currently installed.) Preparing to replace util-linux 2.20.1-5 (using .../util-linux_2.20.1-5.1_amd64.deb) ... Unpacking replacement util-linux ... Setting up util-linux (2.20.1-5.1) ... (Reading database ... 11730 files and directories currently installed.) Preparing to replace base-passwd 3.5.25 (using .../base-passwd_3.5.26_amd64.deb) ... Unpacking replacement base-passwd ... Setting up base-passwd (3.5.26) ... (Reading database ... 11730 files and directories currently installed.) Preparing to replace bsdutils 1:2.20.1-5 (using .../bsdutils_1%3a2.20.1-5.1_amd64.deb) ... Unpacking replacement bsdutils ... Setting up bsdutils (1:2.20.1-5.1) ... (Reading database ... 11730 files and directories currently installed.) Preparing to replace libuuid1:amd64 2.20.1-5 (using .../libuuid1_2.20.1-5.1_amd64.deb) ... Unpacking replacement libuuid1:amd64 ... Setting up libuuid1:amd64 (2.20.1-5.1) ... (Reading database ... 11730 files and directories currently installed.) Preparing to replace libblkid1:amd64 2.20.1-5 (using .../libblkid1_2.20.1-5.1_amd64.deb) ... Unpacking replacement libblkid1:amd64 ... Setting up libblkid1:amd64 (2.20.1-5.1) ... (Reading database ... 11730 files and directories currently installed.) Preparing to replace libmount1 2.20.1-5 (using .../libmount1_2.20.1-5.1_amd64.deb) ... Unpacking replacement libmount1 ... Setting up libmount1 (2.20.1-5.1) ... ┌──────────────────────────────────────────────────────────────────────────────┐ │ Fetch source files │ └──────────────────────────────────────────────────────────────────────────────┘ Check APT ───────── Checking available source versions... Download source files with APT ────────────────────────────── Reading package lists... Building dependency tree... Reading state information... Need to get 815 kB of source archives. Get:1 http://localhost/debian/ unstable/main pearpc 0.5.dfsg-2 (dsc) [1346 B] Get:2 http://localhost/debian/ unstable/main pearpc 0.5.dfsg-2 (tar) [806 kB] Get:3 http://localhost/debian/ unstable/main pearpc 0.5.dfsg-2 (diff) [7706 B] Fetched 815 kB in 0s (3013 kB/s) Download complete and in download only mode Check arch ────────── ┌──────────────────────────────────────────────────────────────────────────────┐ │ Chroot Setup Commands │ └──────────────────────────────────────────────────────────────────────────────┘ /tmp/switch-to-clang ──────────────────── + echo 'Entering customization script...' Entering customization script... + apt-get update Ign http://localhost unstable InRelease Hit http://localhost unstable Release.gpg Hit http://localhost unstable Release Hit http://localhost unstable/main Sources/DiffIndex Hit http://localhost unstable/main amd64 Packages/DiffIndex Hit http://localhost unstable/main Translation-en/DiffIndex Reading package lists... + echo 'Install of clang' Install of clang + apt-get update Ign http://localhost unstable InRelease Hit http://localhost unstable Release.gpg Hit http://localhost unstable Release Hit http://localhost unstable/main Sources/DiffIndex Hit http://localhost unstable/main amd64 Packages/DiffIndex Hit http://localhost unstable/main Translation-en/DiffIndex Reading package lists... + apt-get install --yes --no-install-recommends clang -t unstable Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: libclang-common-dev libffi5 libllvm3.1 Recommended packages: llvm-3.1-dev python The following NEW packages will be installed: clang libclang-common-dev libffi5 libllvm3.1 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 13.1 MB of archives. After this operation, 35.6 MB of additional disk space will be used. Get:1 http://localhost/debian/ unstable/main libffi5 amd64 3.0.10-3 [24.8 kB] Get:2 http://localhost/debian/ unstable/main libllvm3.1 amd64 3.1-1 [7276 kB] Get:3 http://localhost/debian/ unstable/main libclang-common-dev amd64 3.1-6 [84.0 kB] Get:4 http://localhost/debian/ unstable/main clang amd64 3.1-6 [5755 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 13.1 MB in 0s (30.1 MB/s) Selecting previously unselected package libffi5:amd64. (Reading database ... 11730 files and directories currently installed.) Unpacking libffi5:amd64 (from .../libffi5_3.0.10-3_amd64.deb) ... Selecting previously unselected package libllvm3.1:amd64. Unpacking libllvm3.1:amd64 (from .../libllvm3.1_3.1-1_amd64.deb) ... Selecting previously unselected package libclang-common-dev. Unpacking libclang-common-dev (from .../libclang-common-dev_3.1-6_amd64.deb) ... Selecting previously unselected package clang. Unpacking clang (from .../archives/clang_3.1-6_amd64.deb) ... Setting up libffi5:amd64 (3.0.10-3) ... Setting up libllvm3.1:amd64 (3.1-1) ... Setting up libclang-common-dev (3.1-6) ... Setting up clang (3.1-6) ... + echo 'Replace gcc, g++ & cpp by clang' Replace gcc, g++ & cpp by clang + VERSION=4.7 + cd /usr/bin + rm g++-4.7 gcc-4.7 cpp-4.7 + ln -s clang++ g++-4.7 + ln -s clang gcc-4.7 + ln -s clang cpp-4.7 + cd - /«BUILDDIR» + echo 'Block the installation of new gcc version' Block the installation of new gcc version + dpkg --set-selections + echo 'gcc-4.6 hold' + dpkg --set-selections + echo 'cpp-4.6 hold' + dpkg --set-selections + echo 'g++-4.6 hold' + dpkg --set-selections + echo 'gcc-4.7 hold' + dpkg --set-selections + echo 'cpp-4.7 hold' + dpkg --set-selections + echo 'g++-4.7 hold' + echo 'Check if gcc, g++ & cpp are actually clang' Check if gcc, g++ & cpp are actually clang + grep clang + gcc --version I: Finished running '/tmp/switch-to-clang'. Finished processing commands. ──────────────────────────────────────────────────────────────────────────────── Merged Build-Depends: build-essential, fakeroot Filtered Build-Depends: build-essential, fakeroot dpkg-deb: building package `sbuild-build-depends-core-dummy' in `/«BUILDDIR»/resolver-5uWuJ2/apt_archive/sbuild-build-depends-core-dummy.deb'. OK Reading package lists... ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install core build dependencies (apt-based resolver) │ └──────────────────────────────────────────────────────────────────────────────┘ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: sbuild-build-depends-core-dummy debconf: delaying package configuration, since apt-utils is not installed 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/708 B of archives. After this operation, 0 B of additional disk space will be used. Selecting previously unselected package sbuild-build-depends-core-dummy. (Reading database ... 11810 files and directories currently installed.) Unpacking sbuild-build-depends-core-dummy (from .../sbuild-build-depends-core-dummy.deb) ... Setting up sbuild-build-depends-core-dummy (0.invalid.0) ... Merged Build-Depends: base-files, base-passwd, bash, coreutils, dash, debianutils, diffutils, dpkg, e2fsprogs, findutils, grep, gzip, hostname, ncurses-base, ncurses-bin, perl-base, sed, login, sysvinit-utils, sysvinit, tar, bsdutils, mount, util-linux, libc6-dev | libc-dev, gcc (>= 4:4.4.3), g++ (>= 4:4.4.3), make, dpkg-dev (>= 1.13.5), debhelper (>= 7.0.50~), nasm, libaa1-dev, libgpmg1-dev, libsvga1-dev, libncurses5-dev, libxext-dev, libasound2-dev, libsdl1.2-dev, libx11-dev, autotools-dev Filtered Build-Depends: base-files, base-passwd, bash, coreutils, dash, debianutils, diffutils, dpkg, e2fsprogs, findutils, grep, gzip, hostname, ncurses-base, ncurses-bin, perl-base, sed, login, sysvinit-utils, sysvinit, tar, bsdutils, mount, util-linux, libc6-dev, gcc (>= 4:4.4.3), g++ (>= 4:4.4.3), make, dpkg-dev (>= 1.13.5), debhelper (>= 7.0.50~), nasm, libaa1-dev, libgpmg1-dev, libsvga1-dev, libncurses5-dev, libxext-dev, libasound2-dev, libsdl1.2-dev, libx11-dev, autotools-dev dpkg-deb: building package `sbuild-build-depends-pearpc-dummy' in `/«BUILDDIR»/resolver-QEjOVP/apt_archive/sbuild-build-depends-pearpc-dummy.deb'. OK Reading package lists... ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install pearpc build dependencies (apt-based resolver) │ └──────────────────────────────────────────────────────────────────────────────┘ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: autotools-dev bsdmainutils debhelper file gettext gettext-base groff-base html2text intltool-debian libaa1 libaa1-dev libasound2 libasound2-dev libasprintf0c2 libasyncns0 libavahi-client-dev libavahi-client3 libavahi-common-data libavahi-common-dev libavahi-common3 libcaca-dev libcaca0 libcap2 libcroco3 libdbus-1-3 libdbus-1-dev libdirectfb-1.2-9 libdirectfb-dev libdirectfb-extra libdrm2 libelf1 libflac8 libfreetype6 libfreetype6-dev libgettextpo0 libgl1-mesa-dev libgl1-mesa-glx libglapi-mesa libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev libglu1-mesa libglu1-mesa-dev libgpm-dev libgpm2 libice6 libjpeg8 libjpeg8-dev libjson0 libmagic1 libncurses5-dev libncursesw5 libogg0 libpcre3 libpcre3-dev libpcrecpp0 libpipeline1 libpng12-0 libpng12-dev libpopt0 libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0 libpulse0 libsdl1.2-dev libsdl1.2debian libslang2-dev libsm6 libsndfile1 libsvga1 libsvga1-dev libtinfo-dev libts-0.0-0 libts-dev libunistring0 libvorbis0a libvorbisenc2 libwrap0 libx11-6 libx11-data libx11-dev libx11-xcb1 libx86-1 libxau-dev libxau6 libxcb-glx0 libxcb1 libxcb1-dev libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes3 libxi6 libxml2 libxtst6 libxxf86vm1 man-db mesa-common-dev nasm pkg-config po-debconf tsconf x11-common x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev zlib1g-dev Suggested packages: wamerican wordlist whois vacation dh-make gettext-doc groff libasound2-plugins libasound2-doc libglib2.0-doc gpm ncurses-doc pulseaudio libxcb-doc libxext-doc less www-browser libmail-box-perl Recommended packages: curl wget lynx-cur autopoint dbus libgl1-mesa-dri shared-mime-info python tcpd libx11-doc xml-core libmail-sendmail-perl The following NEW packages will be installed: autotools-dev bsdmainutils debhelper file gettext gettext-base groff-base html2text intltool-debian libaa1 libaa1-dev libasound2 libasound2-dev libasprintf0c2 libasyncns0 libavahi-client-dev libavahi-client3 libavahi-common-data libavahi-common-dev libavahi-common3 libcaca-dev libcaca0 libcap2 libcroco3 libdbus-1-3 libdbus-1-dev libdirectfb-1.2-9 libdirectfb-dev libdirectfb-extra libdrm2 libelf1 libflac8 libfreetype6 libfreetype6-dev libgettextpo0 libgl1-mesa-dev libgl1-mesa-glx libglapi-mesa libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev libglu1-mesa libglu1-mesa-dev libgpm-dev libgpm2 libice6 libjpeg8 libjpeg8-dev libjson0 libmagic1 libncurses5-dev libncursesw5 libogg0 libpcre3 libpcre3-dev libpcrecpp0 libpipeline1 libpng12-0 libpng12-dev libpopt0 libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0 libpulse0 libsdl1.2-dev libsdl1.2debian libslang2-dev libsm6 libsndfile1 libsvga1 libsvga1-dev libtinfo-dev libts-0.0-0 libts-dev libunistring0 libvorbis0a libvorbisenc2 libwrap0 libx11-6 libx11-data libx11-dev libx11-xcb1 libx86-1 libxau-dev libxau6 libxcb-glx0 libxcb1 libxcb1-dev libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes3 libxi6 libxml2 libxtst6 libxxf86vm1 man-db mesa-common-dev nasm pkg-config po-debconf sbuild-build-depends-pearpc-dummy tsconf x11-common x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev zlib1g-dev 0 upgraded, 115 newly installed, 0 to remove and 0 not upgraded. Need to get 36.9 MB/36.9 MB of archives. After this operation, 104 MB of additional disk space will be used. Get:1 http://localhost/debian/ unstable/main libncursesw5 amd64 5.9-9 [141 kB] Get:2 http://localhost/debian/ unstable/main libpipeline1 amd64 1.2.1-1 [39.2 kB] Get:3 http://localhost/debian/ unstable/main libpopt0 amd64 1.16-7 [56.4 kB] Get:4 http://localhost/debian/ unstable/main libasprintf0c2 amd64 0.18.1.1-9 [26.8 kB] Get:5 http://localhost/debian/ unstable/main libcap2 amd64 1:2.22-1.1 [13.5 kB] Get:6 http://localhost/debian/ unstable/main libgpm2 amd64 1.20.4-6 [35.8 kB] Get:7 http://localhost/debian/ unstable/main libmagic1 amd64 5.11-1 [250 kB] Get:8 http://localhost/debian/ unstable/main libpcre3 amd64 1:8.30-5 [242 kB] Get:9 http://localhost/debian/ unstable/main libwrap0 amd64 7.6.q-23 [62.3 kB] Get:10 http://localhost/debian/ unstable/main libxml2 amd64 2.8.0+dfsg1-4 [903 kB] Get:11 http://localhost/debian/ unstable/main libxau6 amd64 1:1.0.7-1 [18.8 kB] Get:12 http://localhost/debian/ unstable/main libxdmcp6 amd64 1:1.1.1-1 [26.3 kB] Get:13 http://localhost/debian/ unstable/main libxcb1 amd64 1.8.1-1 [50.0 kB] Get:14 http://localhost/debian/ unstable/main libx11-data all 2:1.5.0-1 [189 kB] Get:15 http://localhost/debian/ unstable/main libx11-6 amd64 2:1.5.0-1 [901 kB] Get:16 http://localhost/debian/ unstable/main libaa1 amd64 1.4p5-39.1 [63.8 kB] Get:17 http://localhost/debian/ unstable/main libasound2 amd64 1.0.25-3 [461 kB] Get:18 http://localhost/debian/ unstable/main libasyncns0 amd64 0.8-4 [13.6 kB] Get:19 http://localhost/debian/ unstable/main libavahi-common-data amd64 0.6.31-1 [134 kB] Get:20 http://localhost/debian/ unstable/main libavahi-common3 amd64 0.6.31-1 [54.3 kB] Get:21 http://localhost/debian/ unstable/main libdbus-1-3 amd64 1.6.0-1 [171 kB] Get:22 http://localhost/debian/ unstable/main libavahi-client3 amd64 0.6.31-1 [59.1 kB] Get:23 http://localhost/debian/ unstable/main libcaca0 amd64 0.99.beta18-1 [395 kB] Get:24 http://localhost/debian/ unstable/main libglib2.0-0 amd64 2.32.3-1 [2081 kB] Get:25 http://localhost/debian/ unstable/main libcroco3 amd64 0.6.5-1 [151 kB] Get:26 http://localhost/debian/ unstable/main tsconf all 1.0-11 [13.4 kB] Get:27 http://localhost/debian/ unstable/main libts-0.0-0 amd64 1.0-11 [29.9 kB] Get:28 http://localhost/debian/ unstable/main libdirectfb-1.2-9 amd64 1.2.10.0-5 [1203 kB] Get:29 http://localhost/debian/ unstable/main libfreetype6 amd64 2.4.9-1 [450 kB] Get:30 http://localhost/debian/ unstable/main libjpeg8 amd64 8d-1 [134 kB] Get:31 http://localhost/debian/ unstable/main libpng12-0 amd64 1.2.49-1 [190 kB] Get:32 http://localhost/debian/ unstable/main libxext6 amd64 2:1.3.1-2 [55.3 kB] Get:33 http://localhost/debian/ unstable/main libdirectfb-extra amd64 1.2.10.0-5 [36.9 kB] Get:34 http://localhost/debian/ unstable/main libdrm2 amd64 2.4.33-3 [444 kB] Get:35 http://localhost/debian/ unstable/main libelf1 amd64 0.153-1 [304 kB] Get:36 http://localhost/debian/ unstable/main libogg0 amd64 1.3.0-4 [20.6 kB] Get:37 http://localhost/debian/ unstable/main libflac8 amd64 1.2.1-6 [154 kB] Get:38 http://localhost/debian/ unstable/main libunistring0 amd64 0.9.3-5 [434 kB] Get:39 http://localhost/debian/ unstable/main libgettextpo0 amd64 0.18.1.1-9 [145 kB] Get:40 http://localhost/debian/ unstable/main libglapi-mesa amd64 8.0.3-1 [57.3 kB] Get:41 http://localhost/debian/ unstable/main libx11-xcb1 amd64 2:1.5.0-1 [139 kB] Get:42 http://localhost/debian/ unstable/main libxcb-glx0 amd64 1.8.1-1 [32.0 kB] Get:43 http://localhost/debian/ unstable/main libxfixes3 amd64 1:5.0-4 [21.5 kB] Get:44 http://localhost/debian/ unstable/main libxdamage1 amd64 1:1.1.3-2 [14.3 kB] Get:45 http://localhost/debian/ unstable/main libxxf86vm1 amd64 1:1.1.2-1 [19.0 kB] Get:46 http://localhost/debian/ unstable/main libgl1-mesa-glx amd64 8.0.3-1 [165 kB] Get:47 http://localhost/debian/ unstable/main libglu1-mesa amd64 8.0.3-1 [223 kB] Get:48 http://localhost/debian/ unstable/main x11-common all 1:7.6+13 [278 kB] Get:49 http://localhost/debian/ unstable/main libice6 amd64 2:1.0.8-2 [63.1 kB] Get:50 http://localhost/debian/ unstable/main libpcrecpp0 amd64 1:8.30-5 [125 kB] Get:51 http://localhost/debian/ unstable/main libjson0 amd64 0.9-1.1 [19.4 kB] Get:52 http://localhost/debian/ unstable/main libsm6 amd64 2:1.2.1-2 [34.2 kB] Get:53 http://localhost/debian/ unstable/main libvorbis0a amd64 1.3.2-1.3 [109 kB] Get:54 http://localhost/debian/ unstable/main libvorbisenc2 amd64 1.3.2-1.3 [143 kB] Get:55 http://localhost/debian/ unstable/main libsndfile1 amd64 1.0.25-5 [240 kB] Get:56 http://localhost/debian/ unstable/main libxi6 amd64 2:1.6.1-1 [75.0 kB] Get:57 http://localhost/debian/ unstable/main libxtst6 amd64 2:1.2.1-1 [26.6 kB] Get:58 http://localhost/debian/ unstable/main libpulse0 amd64 2.0-3 [305 kB] Get:59 http://localhost/debian/ unstable/main libpulse-mainloop-glib0 amd64 2.0-3 [25.4 kB] Get:60 http://localhost/debian/ unstable/main libsdl1.2debian amd64 1.2.15-5 [220 kB] Get:61 http://localhost/debian/ unstable/main libx86-1 amd64 1.1+ds1-10 [85.8 kB] Get:62 http://localhost/debian/ unstable/main libsvga1 amd64 1:1.4.3-33 [290 kB] Get:63 http://localhost/debian/ unstable/main bsdmainutils amd64 9.0.3 [209 kB] Get:64 http://localhost/debian/ unstable/main groff-base amd64 1.21-8 [1152 kB] Get:65 http://localhost/debian/ unstable/main man-db amd64 2.6.2-1 [1061 kB] Get:66 http://localhost/debian/ unstable/main file amd64 5.11-1 [53.2 kB] Get:67 http://localhost/debian/ unstable/main gettext-base amd64 0.18.1.1-9 [154 kB] Get:68 http://localhost/debian/ unstable/main autotools-dev all 20120608.1 [73.0 kB] Get:69 http://localhost/debian/ unstable/main html2text amd64 1.3.2a-15 [103 kB] Get:70 http://localhost/debian/ unstable/main gettext amd64 0.18.1.1-9 [1975 kB] Get:71 http://localhost/debian/ unstable/main intltool-debian all 0.35.0+20060710.1 [30.8 kB] Get:72 http://localhost/debian/ unstable/main po-debconf all 1.0.16+nmu2 [224 kB] Get:73 http://localhost/debian/ unstable/main debhelper all 9.20120608 [700 kB] Get:74 http://localhost/debian/ unstable/main xorg-sgml-doctools all 1:1.10-1 [24.1 kB] Get:75 http://localhost/debian/ unstable/main x11proto-core-dev all 7.0.23-1 [774 kB] Get:76 http://localhost/debian/ unstable/main libxau-dev amd64 1:1.0.7-1 [21.7 kB] Get:77 http://localhost/debian/ unstable/main libxdmcp-dev amd64 1:1.1.1-1 [42.3 kB] Get:78 http://localhost/debian/ unstable/main x11proto-input-dev all 2.2-1 [172 kB] Get:79 http://localhost/debian/ unstable/main x11proto-kb-dev all 1.0.6-2 [269 kB] Get:80 http://localhost/debian/ unstable/main xtrans-dev all 1.2.7-1 [112 kB] Get:81 http://localhost/debian/ unstable/main libpthread-stubs0 amd64 0.3-3 [3228 B] Get:82 http://localhost/debian/ unstable/main libpthread-stubs0-dev amd64 0.3-3 [3998 B] Get:83 http://localhost/debian/ unstable/main libxcb1-dev amd64 1.8.1-1 [86.6 kB] Get:84 http://localhost/debian/ unstable/main libx11-dev amd64 2:1.5.0-1 [1037 kB] Get:85 http://localhost/debian/ unstable/main zlib1g-dev amd64 1:1.2.7.dfsg-13 [215 kB] Get:86 http://localhost/debian/ unstable/main libpng12-dev amd64 1.2.49-1 [266 kB] Get:87 http://localhost/debian/ unstable/main libslang2-dev amd64 2.2.4-13 [627 kB] Get:88 http://localhost/debian/ unstable/main libtinfo-dev amd64 5.9-9 [105 kB] Get:89 http://localhost/debian/ unstable/main libncurses5-dev amd64 5.9-9 [220 kB] Get:90 http://localhost/debian/ unstable/main libaa1-dev amd64 1.4p5-39.1 [146 kB] Get:91 http://localhost/debian/ unstable/main libasound2-dev amd64 1.0.25-3 [69.4 kB] Get:92 http://localhost/debian/ unstable/main libavahi-common-dev amd64 0.6.31-1 [72.0 kB] Get:93 http://localhost/debian/ unstable/main pkg-config amd64 0.26-1 [59.5 kB] Get:94 http://localhost/debian/ unstable/main libdbus-1-dev amd64 1.6.0-1 [245 kB] Get:95 http://localhost/debian/ unstable/main libavahi-client-dev amd64 0.6.31-1 [66.3 kB] Get:96 http://localhost/debian/ unstable/main libcaca-dev amd64 0.99.beta18-1 [1005 kB] Get:97 http://localhost/debian/ unstable/main libfreetype6-dev amd64 2.4.9-1 [803 kB] Get:98 http://localhost/debian/ unstable/main libjpeg8-dev amd64 8d-1 [242 kB] Get:99 http://localhost/debian/ unstable/main x11proto-xext-dev all 7.2.1-1 [273 kB] Get:100 http://localhost/debian/ unstable/main libxext-dev amd64 2:1.3.1-2 [115 kB] Get:101 http://localhost/debian/ unstable/main libdirectfb-dev amd64 1.2.10.0-5 [928 kB] Get:102 http://localhost/debian/ unstable/main mesa-common-dev amd64 8.0.3-1 [362 kB] Get:103 http://localhost/debian/ unstable/main libgl1-mesa-dev amd64 8.0.3-1 [32.7 kB] Get:104 http://localhost/debian/ unstable/main libglib2.0-data all 2.32.3-1 [2711 kB] Get:105 http://localhost/debian/ unstable/main libglib2.0-bin amd64 2.32.3-1 [861 kB] Get:106 http://localhost/debian/ unstable/main libpcre3-dev amd64 1:8.30-5 [349 kB] Get:107 http://localhost/debian/ unstable/main libglib2.0-dev amd64 2.32.3-1 [2631 kB] Get:108 http://localhost/debian/ unstable/main libglu1-mesa-dev amd64 8.0.3-1 [299 kB] Get:109 http://localhost/debian/ unstable/main libgpm-dev amd64 1.20.4-6 [39.9 kB] Get:110 http://localhost/debian/ unstable/main libpulse-dev amd64 2.0-3 [94.8 kB] Get:111 http://localhost/debian/ unstable/main libts-dev amd64 1.0-11 [11.7 kB] Get:112 http://localhost/debian/ unstable/main libsdl1.2-dev amd64 1.2.15-5 [905 kB] Get:113 http://localhost/debian/ unstable/main libsvga1-dev amd64 1:1.4.3-33 [559 kB] Get:114 http://localhost/debian/ unstable/main nasm amd64 2.10.01-1 [1463 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 36.9 MB in 2s (15.7 MB/s) Selecting previously unselected package libncursesw5:amd64. (Reading database ... 11810 files and directories currently installed.) Unpacking libncursesw5:amd64 (from .../libncursesw5_5.9-9_amd64.deb) ... Selecting previously unselected package libpipeline1:amd64. Unpacking libpipeline1:amd64 (from .../libpipeline1_1.2.1-1_amd64.deb) ... Selecting previously unselected package libpopt0:amd64. Unpacking libpopt0:amd64 (from .../libpopt0_1.16-7_amd64.deb) ... Selecting previously unselected package libasprintf0c2:amd64. Unpacking libasprintf0c2:amd64 (from .../libasprintf0c2_0.18.1.1-9_amd64.deb) ... Selecting previously unselected package libcap2:amd64. Unpacking libcap2:amd64 (from .../libcap2_1%3a2.22-1.1_amd64.deb) ... Selecting previously unselected package libgpm2:amd64. Unpacking libgpm2:amd64 (from .../libgpm2_1.20.4-6_amd64.deb) ... Selecting previously unselected package libmagic1:amd64. Unpacking libmagic1:amd64 (from .../libmagic1_5.11-1_amd64.deb) ... Selecting previously unselected package libpcre3:amd64. Unpacking libpcre3:amd64 (from .../libpcre3_1%3a8.30-5_amd64.deb) ... Selecting previously unselected package libwrap0:amd64. Unpacking libwrap0:amd64 (from .../libwrap0_7.6.q-23_amd64.deb) ... Selecting previously unselected package libxml2:amd64. Unpacking libxml2:amd64 (from .../libxml2_2.8.0+dfsg1-4_amd64.deb) ... Selecting previously unselected package libxau6:amd64. Unpacking libxau6:amd64 (from .../libxau6_1%3a1.0.7-1_amd64.deb) ... Selecting previously unselected package libxdmcp6:amd64. Unpacking libxdmcp6:amd64 (from .../libxdmcp6_1%3a1.1.1-1_amd64.deb) ... Selecting previously unselected package libxcb1:amd64. Unpacking libxcb1:amd64 (from .../libxcb1_1.8.1-1_amd64.deb) ... Selecting previously unselected package libx11-data. Unpacking libx11-data (from .../libx11-data_2%3a1.5.0-1_all.deb) ... Selecting previously unselected package libx11-6:amd64. Unpacking libx11-6:amd64 (from .../libx11-6_2%3a1.5.0-1_amd64.deb) ... Selecting previously unselected package libaa1:amd64. Unpacking libaa1:amd64 (from .../libaa1_1.4p5-39.1_amd64.deb) ... Selecting previously unselected package libasound2:amd64. Unpacking libasound2:amd64 (from .../libasound2_1.0.25-3_amd64.deb) ... Selecting previously unselected package libasyncns0:amd64. Unpacking libasyncns0:amd64 (from .../libasyncns0_0.8-4_amd64.deb) ... Selecting previously unselected package libavahi-common-data:amd64. Unpacking libavahi-common-data:amd64 (from .../libavahi-common-data_0.6.31-1_amd64.deb) ... Selecting previously unselected package libavahi-common3:amd64. Unpacking libavahi-common3:amd64 (from .../libavahi-common3_0.6.31-1_amd64.deb) ... Selecting previously unselected package libdbus-1-3:amd64. Unpacking libdbus-1-3:amd64 (from .../libdbus-1-3_1.6.0-1_amd64.deb) ... Selecting previously unselected package libavahi-client3:amd64. Unpacking libavahi-client3:amd64 (from .../libavahi-client3_0.6.31-1_amd64.deb) ... Selecting previously unselected package libcaca0:amd64. Unpacking libcaca0:amd64 (from .../libcaca0_0.99.beta18-1_amd64.deb) ... Selecting previously unselected package libglib2.0-0:amd64. Unpacking libglib2.0-0:amd64 (from .../libglib2.0-0_2.32.3-1_amd64.deb) ... Selecting previously unselected package libcroco3:amd64. Unpacking libcroco3:amd64 (from .../libcroco3_0.6.5-1_amd64.deb) ... Selecting previously unselected package tsconf. Unpacking tsconf (from .../archives/tsconf_1.0-11_all.deb) ... Selecting previously unselected package libts-0.0-0:amd64. Unpacking libts-0.0-0:amd64 (from .../libts-0.0-0_1.0-11_amd64.deb) ... Selecting previously unselected package libdirectfb-1.2-9:amd64. Unpacking libdirectfb-1.2-9:amd64 (from .../libdirectfb-1.2-9_1.2.10.0-5_amd64.deb) ... Selecting previously unselected package libfreetype6:amd64. Unpacking libfreetype6:amd64 (from .../libfreetype6_2.4.9-1_amd64.deb) ... Selecting previously unselected package libjpeg8:amd64. Unpacking libjpeg8:amd64 (from .../libjpeg8_8d-1_amd64.deb) ... Selecting previously unselected package libpng12-0:amd64. Unpacking libpng12-0:amd64 (from .../libpng12-0_1.2.49-1_amd64.deb) ... Selecting previously unselected package libxext6:amd64. Unpacking libxext6:amd64 (from .../libxext6_2%3a1.3.1-2_amd64.deb) ... Selecting previously unselected package libdirectfb-extra:amd64. Unpacking libdirectfb-extra:amd64 (from .../libdirectfb-extra_1.2.10.0-5_amd64.deb) ... Selecting previously unselected package libdrm2:amd64. Unpacking libdrm2:amd64 (from .../libdrm2_2.4.33-3_amd64.deb) ... Selecting previously unselected package libelf1:amd64. Unpacking libelf1:amd64 (from .../libelf1_0.153-1_amd64.deb) ... Selecting previously unselected package libogg0:amd64. Unpacking libogg0:amd64 (from .../libogg0_1.3.0-4_amd64.deb) ... Selecting previously unselected package libflac8:amd64. Unpacking libflac8:amd64 (from .../libflac8_1.2.1-6_amd64.deb) ... Selecting previously unselected package libunistring0:amd64. Unpacking libunistring0:amd64 (from .../libunistring0_0.9.3-5_amd64.deb) ... Selecting previously unselected package libgettextpo0:amd64. Unpacking libgettextpo0:amd64 (from .../libgettextpo0_0.18.1.1-9_amd64.deb) ... Selecting previously unselected package libglapi-mesa:amd64. Unpacking libglapi-mesa:amd64 (from .../libglapi-mesa_8.0.3-1_amd64.deb) ... Selecting previously unselected package libx11-xcb1:amd64. Unpacking libx11-xcb1:amd64 (from .../libx11-xcb1_2%3a1.5.0-1_amd64.deb) ... Selecting previously unselected package libxcb-glx0:amd64. Unpacking libxcb-glx0:amd64 (from .../libxcb-glx0_1.8.1-1_amd64.deb) ... Selecting previously unselected package libxfixes3:amd64. Unpacking libxfixes3:amd64 (from .../libxfixes3_1%3a5.0-4_amd64.deb) ... Selecting previously unselected package libxdamage1:amd64. Unpacking libxdamage1:amd64 (from .../libxdamage1_1%3a1.1.3-2_amd64.deb) ... Selecting previously unselected package libxxf86vm1:amd64. Unpacking libxxf86vm1:amd64 (from .../libxxf86vm1_1%3a1.1.2-1_amd64.deb) ... Selecting previously unselected package libgl1-mesa-glx:amd64. Unpacking libgl1-mesa-glx:amd64 (from .../libgl1-mesa-glx_8.0.3-1_amd64.deb) ... Selecting previously unselected package libglu1-mesa:amd64. Unpacking libglu1-mesa:amd64 (from .../libglu1-mesa_8.0.3-1_amd64.deb) ... Selecting previously unselected package x11-common. Unpacking x11-common (from .../x11-common_1%3a7.6+13_all.deb) ... Selecting previously unselected package libice6:amd64. Unpacking libice6:amd64 (from .../libice6_2%3a1.0.8-2_amd64.deb) ... Selecting previously unselected package libpcrecpp0:amd64. Unpacking libpcrecpp0:amd64 (from .../libpcrecpp0_1%3a8.30-5_amd64.deb) ... Selecting previously unselected package libjson0:amd64. Unpacking libjson0:amd64 (from .../libjson0_0.9-1.1_amd64.deb) ... Selecting previously unselected package libsm6:amd64. Unpacking libsm6:amd64 (from .../libsm6_2%3a1.2.1-2_amd64.deb) ... Selecting previously unselected package libvorbis0a:amd64. Unpacking libvorbis0a:amd64 (from .../libvorbis0a_1.3.2-1.3_amd64.deb) ... Selecting previously unselected package libvorbisenc2:amd64. Unpacking libvorbisenc2:amd64 (from .../libvorbisenc2_1.3.2-1.3_amd64.deb) ... Selecting previously unselected package libsndfile1:amd64. Unpacking libsndfile1:amd64 (from .../libsndfile1_1.0.25-5_amd64.deb) ... Selecting previously unselected package libxi6:amd64. Unpacking libxi6:amd64 (from .../libxi6_2%3a1.6.1-1_amd64.deb) ... Selecting previously unselected package libxtst6:amd64. Unpacking libxtst6:amd64 (from .../libxtst6_2%3a1.2.1-1_amd64.deb) ... Selecting previously unselected package libpulse0:amd64. Unpacking libpulse0:amd64 (from .../libpulse0_2.0-3_amd64.deb) ... Selecting previously unselected package libpulse-mainloop-glib0:amd64. Unpacking libpulse-mainloop-glib0:amd64 (from .../libpulse-mainloop-glib0_2.0-3_amd64.deb) ... Selecting previously unselected package libsdl1.2debian:amd64. Unpacking libsdl1.2debian:amd64 (from .../libsdl1.2debian_1.2.15-5_amd64.deb) ... Selecting previously unselected package libx86-1:amd64. Unpacking libx86-1:amd64 (from .../libx86-1_1.1+ds1-10_amd64.deb) ... Selecting previously unselected package libsvga1:amd64. Unpacking libsvga1:amd64 (from .../libsvga1_1%3a1.4.3-33_amd64.deb) ... Selecting previously unselected package bsdmainutils. Unpacking bsdmainutils (from .../bsdmainutils_9.0.3_amd64.deb) ... Selecting previously unselected package groff-base. Unpacking groff-base (from .../groff-base_1.21-8_amd64.deb) ... Selecting previously unselected package man-db. Unpacking man-db (from .../man-db_2.6.2-1_amd64.deb) ... Selecting previously unselected package file. Unpacking file (from .../archives/file_5.11-1_amd64.deb) ... Selecting previously unselected package gettext-base. Unpacking gettext-base (from .../gettext-base_0.18.1.1-9_amd64.deb) ... Selecting previously unselected package autotools-dev. Unpacking autotools-dev (from .../autotools-dev_20120608.1_all.deb) ... Selecting previously unselected package html2text. Unpacking html2text (from .../html2text_1.3.2a-15_amd64.deb) ... Selecting previously unselected package gettext. Unpacking gettext (from .../gettext_0.18.1.1-9_amd64.deb) ... Selecting previously unselected package intltool-debian. Unpacking intltool-debian (from .../intltool-debian_0.35.0+20060710.1_all.deb) ... Selecting previously unselected package po-debconf. Unpacking po-debconf (from .../po-debconf_1.0.16+nmu2_all.deb) ... Selecting previously unselected package debhelper. Unpacking debhelper (from .../debhelper_9.20120608_all.deb) ... Selecting previously unselected package xorg-sgml-doctools. Unpacking xorg-sgml-doctools (from .../xorg-sgml-doctools_1%3a1.10-1_all.deb) ... Selecting previously unselected package x11proto-core-dev. Unpacking x11proto-core-dev (from .../x11proto-core-dev_7.0.23-1_all.deb) ... Selecting previously unselected package libxau-dev:amd64. Unpacking libxau-dev:amd64 (from .../libxau-dev_1%3a1.0.7-1_amd64.deb) ... Selecting previously unselected package libxdmcp-dev:amd64. Unpacking libxdmcp-dev:amd64 (from .../libxdmcp-dev_1%3a1.1.1-1_amd64.deb) ... Selecting previously unselected package x11proto-input-dev. Unpacking x11proto-input-dev (from .../x11proto-input-dev_2.2-1_all.deb) ... Selecting previously unselected package x11proto-kb-dev. Unpacking x11proto-kb-dev (from .../x11proto-kb-dev_1.0.6-2_all.deb) ... Selecting previously unselected package xtrans-dev. Unpacking xtrans-dev (from .../xtrans-dev_1.2.7-1_all.deb) ... Selecting previously unselected package libpthread-stubs0:amd64. Unpacking libpthread-stubs0:amd64 (from .../libpthread-stubs0_0.3-3_amd64.deb) ... Selecting previously unselected package libpthread-stubs0-dev:amd64. Unpacking libpthread-stubs0-dev:amd64 (from .../libpthread-stubs0-dev_0.3-3_amd64.deb) ... Selecting previously unselected package libxcb1-dev:amd64. Unpacking libxcb1-dev:amd64 (from .../libxcb1-dev_1.8.1-1_amd64.deb) ... Selecting previously unselected package libx11-dev:amd64. Unpacking libx11-dev:amd64 (from .../libx11-dev_2%3a1.5.0-1_amd64.deb) ... Selecting previously unselected package zlib1g-dev:amd64. Unpacking zlib1g-dev:amd64 (from .../zlib1g-dev_1%3a1.2.7.dfsg-13_amd64.deb) ... Selecting previously unselected package libpng12-dev. Unpacking libpng12-dev (from .../libpng12-dev_1.2.49-1_amd64.deb) ... Selecting previously unselected package libslang2-dev:amd64. Unpacking libslang2-dev:amd64 (from .../libslang2-dev_2.2.4-13_amd64.deb) ... Selecting previously unselected package libtinfo-dev:amd64. Unpacking libtinfo-dev:amd64 (from .../libtinfo-dev_5.9-9_amd64.deb) ... Selecting previously unselected package libncurses5-dev. Unpacking libncurses5-dev (from .../libncurses5-dev_5.9-9_amd64.deb) ... Selecting previously unselected package libaa1-dev. Unpacking libaa1-dev (from .../libaa1-dev_1.4p5-39.1_amd64.deb) ... Selecting previously unselected package libasound2-dev:amd64. Unpacking libasound2-dev:amd64 (from .../libasound2-dev_1.0.25-3_amd64.deb) ... Selecting previously unselected package libavahi-common-dev. Unpacking libavahi-common-dev (from .../libavahi-common-dev_0.6.31-1_amd64.deb) ... Selecting previously unselected package pkg-config. Unpacking pkg-config (from .../pkg-config_0.26-1_amd64.deb) ... Selecting previously unselected package libdbus-1-dev. Unpacking libdbus-1-dev (from .../libdbus-1-dev_1.6.0-1_amd64.deb) ... Selecting previously unselected package libavahi-client-dev. Unpacking libavahi-client-dev (from .../libavahi-client-dev_0.6.31-1_amd64.deb) ... Selecting previously unselected package libcaca-dev. Unpacking libcaca-dev (from .../libcaca-dev_0.99.beta18-1_amd64.deb) ... Selecting previously unselected package libfreetype6-dev. Unpacking libfreetype6-dev (from .../libfreetype6-dev_2.4.9-1_amd64.deb) ... Selecting previously unselected package libjpeg8-dev:amd64. Unpacking libjpeg8-dev:amd64 (from .../libjpeg8-dev_8d-1_amd64.deb) ... Selecting previously unselected package x11proto-xext-dev. Unpacking x11proto-xext-dev (from .../x11proto-xext-dev_7.2.1-1_all.deb) ... Selecting previously unselected package libxext-dev:amd64. Unpacking libxext-dev:amd64 (from .../libxext-dev_2%3a1.3.1-2_amd64.deb) ... Selecting previously unselected package libdirectfb-dev. Unpacking libdirectfb-dev (from .../libdirectfb-dev_1.2.10.0-5_amd64.deb) ... Selecting previously unselected package mesa-common-dev. Unpacking mesa-common-dev (from .../mesa-common-dev_8.0.3-1_amd64.deb) ... Selecting previously unselected package libgl1-mesa-dev. Unpacking libgl1-mesa-dev (from .../libgl1-mesa-dev_8.0.3-1_amd64.deb) ... Selecting previously unselected package libglib2.0-data. Unpacking libglib2.0-data (from .../libglib2.0-data_2.32.3-1_all.deb) ... Selecting previously unselected package libglib2.0-bin. Unpacking libglib2.0-bin (from .../libglib2.0-bin_2.32.3-1_amd64.deb) ... Selecting previously unselected package libpcre3-dev. Unpacking libpcre3-dev (from .../libpcre3-dev_1%3a8.30-5_amd64.deb) ... Selecting previously unselected package libglib2.0-dev. Unpacking libglib2.0-dev (from .../libglib2.0-dev_2.32.3-1_amd64.deb) ... Selecting previously unselected package libglu1-mesa-dev. Unpacking libglu1-mesa-dev (from .../libglu1-mesa-dev_8.0.3-1_amd64.deb) ... Selecting previously unselected package libgpm-dev:amd64. Unpacking libgpm-dev:amd64 (from .../libgpm-dev_1.20.4-6_amd64.deb) ... Selecting previously unselected package libpulse-dev:amd64. Unpacking libpulse-dev:amd64 (from .../libpulse-dev_2.0-3_amd64.deb) ... Selecting previously unselected package libts-dev:amd64. Unpacking libts-dev:amd64 (from .../libts-dev_1.0-11_amd64.deb) ... Selecting previously unselected package libsdl1.2-dev. Unpacking libsdl1.2-dev (from .../libsdl1.2-dev_1.2.15-5_amd64.deb) ... Selecting previously unselected package libsvga1-dev. Unpacking libsvga1-dev (from .../libsvga1-dev_1%3a1.4.3-33_amd64.deb) ... Selecting previously unselected package nasm. Unpacking nasm (from .../nasm_2.10.01-1_amd64.deb) ... Selecting previously unselected package sbuild-build-depends-pearpc-dummy. Unpacking sbuild-build-depends-pearpc-dummy (from .../sbuild-build-depends-pearpc-dummy.deb) ... Setting up libncursesw5:amd64 (5.9-9) ... Setting up libpipeline1:amd64 (1.2.1-1) ... Setting up libpopt0:amd64 (1.16-7) ... Setting up libasprintf0c2:amd64 (0.18.1.1-9) ... Setting up libcap2:amd64 (1:2.22-1.1) ... Setting up libgpm2:amd64 (1.20.4-6) ... Setting up libmagic1:amd64 (5.11-1) ... Setting up libpcre3:amd64 (1:8.30-5) ... Setting up libwrap0:amd64 (7.6.q-23) ... Setting up libxml2:amd64 (2.8.0+dfsg1-4) ... Setting up libxau6:amd64 (1:1.0.7-1) ... Setting up libxdmcp6:amd64 (1:1.1.1-1) ... Setting up libxcb1:amd64 (1.8.1-1) ... Setting up libx11-data (2:1.5.0-1) ... Setting up libx11-6:amd64 (2:1.5.0-1) ... Setting up libaa1:amd64 (1.4p5-39.1) ... Setting up libasound2:amd64 (1.0.25-3) ... Setting up libasyncns0:amd64 (0.8-4) ... Setting up libavahi-common-data:amd64 (0.6.31-1) ... Setting up libavahi-common3:amd64 (0.6.31-1) ... Setting up libdbus-1-3:amd64 (1.6.0-1) ... Setting up libavahi-client3:amd64 (0.6.31-1) ... Setting up libcaca0:amd64 (0.99.beta18-1) ... Setting up libglib2.0-0:amd64 (2.32.3-1) ... No schema files found: doing nothing. Setting up libcroco3:amd64 (0.6.5-1) ... Setting up tsconf (1.0-11) ... Setting up libts-0.0-0:amd64 (1.0-11) ... Setting up libdirectfb-1.2-9:amd64 (1.2.10.0-5) ... Setting up libfreetype6:amd64 (2.4.9-1) ... Setting up libjpeg8:amd64 (8d-1) ... Setting up libpng12-0:amd64 (1.2.49-1) ... Setting up libxext6:amd64 (2:1.3.1-2) ... Setting up libdirectfb-extra:amd64 (1.2.10.0-5) ... Setting up libdrm2:amd64 (2.4.33-3) ... Setting up libelf1:amd64 (0.153-1) ... Setting up libogg0:amd64 (1.3.0-4) ... Setting up libflac8:amd64 (1.2.1-6) ... Setting up libunistring0:amd64 (0.9.3-5) ... Setting up libgettextpo0:amd64 (0.18.1.1-9) ... Setting up libglapi-mesa:amd64 (8.0.3-1) ... Setting up libx11-xcb1:amd64 (2:1.5.0-1) ... Setting up libxcb-glx0:amd64 (1.8.1-1) ... Setting up libxfixes3:amd64 (1:5.0-4) ... Setting up libxdamage1:amd64 (1:1.1.3-2) ... Setting up libxxf86vm1:amd64 (1:1.1.2-1) ... Setting up libgl1-mesa-glx:amd64 (8.0.3-1) ... Setting up libglu1-mesa:amd64 (8.0.3-1) ... Setting up x11-common (1:7.6+13) ... All runlevel operations denied by policy invoke-rc.d: policy-rc.d denied execution of start. Setting up libice6:amd64 (2:1.0.8-2) ... Setting up libpcrecpp0:amd64 (1:8.30-5) ... Setting up libjson0:amd64 (0.9-1.1) ... Setting up libsm6:amd64 (2:1.2.1-2) ... Setting up libvorbis0a:amd64 (1.3.2-1.3) ... Setting up libvorbisenc2:amd64 (1.3.2-1.3) ... Setting up libsndfile1:amd64 (1.0.25-5) ... Setting up libxi6:amd64 (2:1.6.1-1) ... Setting up libxtst6:amd64 (2:1.2.1-1) ... Setting up libpulse0:amd64 (2.0-3) ... Setting up libpulse-mainloop-glib0:amd64 (2.0-3) ... Setting up libsdl1.2debian:amd64 (1.2.15-5) ... Setting up libx86-1:amd64 (1.1+ds1-10) ... Setting up libsvga1:amd64 (1:1.4.3-33) ... Setting up bsdmainutils (9.0.3) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode. update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode. Setting up groff-base (1.21-8) ... Setting up man-db (2.6.2-1) ... Building database of manual pages ... Setting up file (5.11-1) ... Setting up gettext-base (0.18.1.1-9) ... Setting up autotools-dev (20120608.1) ... Setting up html2text (1.3.2a-15) ... Setting up gettext (0.18.1.1-9) ... Setting up intltool-debian (0.35.0+20060710.1) ... Setting up po-debconf (1.0.16+nmu2) ... Setting up debhelper (9.20120608) ... Setting up xorg-sgml-doctools (1:1.10-1) ... Setting up x11proto-core-dev (7.0.23-1) ... Setting up libxau-dev:amd64 (1:1.0.7-1) ... Setting up libxdmcp-dev:amd64 (1:1.1.1-1) ... Setting up x11proto-input-dev (2.2-1) ... Setting up x11proto-kb-dev (1.0.6-2) ... Setting up xtrans-dev (1.2.7-1) ... Setting up libpthread-stubs0:amd64 (0.3-3) ... Setting up libpthread-stubs0-dev:amd64 (0.3-3) ... Setting up libxcb1-dev:amd64 (1.8.1-1) ... Setting up libx11-dev:amd64 (2:1.5.0-1) ... Setting up zlib1g-dev:amd64 (1:1.2.7.dfsg-13) ... Setting up libpng12-dev (1.2.49-1) ... Setting up libslang2-dev:amd64 (2.2.4-13) ... Setting up libtinfo-dev:amd64 (5.9-9) ... Setting up libncurses5-dev (5.9-9) ... Setting up libaa1-dev (1.4p5-39.1) ... Setting up libasound2-dev:amd64 (1.0.25-3) ... Setting up libavahi-common-dev (0.6.31-1) ... Setting up pkg-config (0.26-1) ... Setting up libdbus-1-dev (1.6.0-1) ... Setting up libavahi-client-dev (0.6.31-1) ... Setting up libcaca-dev (0.99.beta18-1) ... Setting up libfreetype6-dev (2.4.9-1) ... Setting up libjpeg8-dev:amd64 (8d-1) ... Setting up x11proto-xext-dev (7.2.1-1) ... Setting up libxext-dev:amd64 (2:1.3.1-2) ... Setting up libdirectfb-dev (1.2.10.0-5) ... Setting up mesa-common-dev (8.0.3-1) ... Setting up libgl1-mesa-dev (8.0.3-1) ... Setting up libglib2.0-data (2.32.3-1) ... Setting up libglib2.0-bin (2.32.3-1) ... Setting up libpcre3-dev (1:8.30-5) ... Setting up libglib2.0-dev (2.32.3-1) ... Setting up libglu1-mesa-dev (8.0.3-1) ... Setting up libgpm-dev:amd64 (1.20.4-6) ... Setting up libpulse-dev:amd64 (2.0-3) ... Setting up libts-dev:amd64 (1.0-11) ... Setting up libsdl1.2-dev (1.2.15-5) ... Setting up libsvga1-dev (1:1.4.3-33) ... Setting up nasm (2.10.01-1) ... Setting up sbuild-build-depends-pearpc-dummy (0.invalid.0) ... ┌──────────────────────────────────────────────────────────────────────────────┐ │ Build environment │ └──────────────────────────────────────────────────────────────────────────────┘ Kernel: Linux 2.6.32-5-xen-amd64 amd64 (x86_64) Toolchain package versions: binutils_2.22-6.1 dpkg-dev_1.16.4.3 g++-4.6_4.6.3-7 g++-4.7_4.7.1-1 gcc-4.6_4.6.3-7 gcc-4.7_4.7.1-1 libc6-dev_2.13-33 libstdc++6_4.7.1-1 libstdc++6-4.6-dev_4.6.3-7 libstdc++6-4.7-dev_4.7.1-1 linux-libc-dev_3.2.20-1 Package versions: apt_0.9.7 autotools-dev_20120608.1 base-files_6.11 base-passwd_3.5.26 bash_4.2-2 binutils_2.22-6.1 bsdmainutils_9.0.3 bsdutils_1:2.20.1-5.1 build-essential_11.5 bzip2_1.0.6-3 clang_3.1-6 coreutils_8.13-3.2 cpp_4:4.7.0-6 cpp-4.6_4.6.3-7 cpp-4.7_4.7.1-1 dash_0.5.7-3 debconf_1.5.44 debconf-i18n_1.5.44 debfoster_2.7-1.1 debhelper_9.20120608 debian-archive-keyring_2012.4 debianutils_4.3.1 diffutils_1:3.2-6 dpkg_1.16.4.3 dpkg-dev_1.16.4.3 e2fslibs_1.42.4-3 e2fsprogs_1.42.4-3 fakeroot_1.18.4-2 file_5.11-1 findutils_4.4.2-4 g++_4:4.7.0-6 g++-4.6_4.6.3-7 g++-4.7_4.7.1-1 gcc_4:4.7.0-6 gcc-4.4-base_4.4.7-1 gcc-4.5-base_4.5.3-12 gcc-4.6_4.6.3-7 gcc-4.6-base_4.6.3-7 gcc-4.7_4.7.1-1 gcc-4.7-base_4.7.1-1 gettext_0.18.1.1-9 gettext-base_0.18.1.1-9 gnupg_1.4.12-4 gpgv_1.4.12-4 grep_2.12-2 groff-base_1.21-8 gzip_1.5-1.1 hostname_3.11 html2text_1.3.2a-15 initscripts_2.88dsf-27 insserv_1.14.0-3 intltool-debian_0.35.0+20060710.1 libaa1_1.4p5-39.1 libaa1-dev_1.4p5-39.1 libacl1_2.2.51-8 libapt-pkg4.12_0.9.7 libasound2_1.0.25-3 libasound2-dev_1.0.25-3 libasprintf0c2_0.18.1.1-9 libasyncns0_0.8-4 libattr1_1:2.4.46-8 libavahi-client-dev_0.6.31-1 libavahi-client3_0.6.31-1 libavahi-common-data_0.6.31-1 libavahi-common-dev_0.6.31-1 libavahi-common3_0.6.31-1 libblkid1_2.20.1-5.1 libbz2-1.0_1.0.6-3 libc-bin_2.13-33 libc-dev-bin_2.13-33 libc6_2.13-33 libc6-dev_2.13-33 libcaca-dev_0.99.beta18-1 libcaca0_0.99.beta18-1 libcap2_1:2.22-1.1 libclang-common-dev_3.1-6 libclass-isa-perl_0.36-3 libcomerr2_1.42.4-3 libcroco3_0.6.5-1 libdb5.1_5.1.29-4 libdbus-1-3_1.6.0-1 libdbus-1-dev_1.6.0-1 libdirectfb-1.2-9_1.2.10.0-5 libdirectfb-dev_1.2.10.0-5 libdirectfb-extra_1.2.10.0-5 libdpkg-perl_1.16.4.3 libdrm2_2.4.33-3 libelf1_0.153-1 libffi5_3.0.10-3 libfile-fcntllock-perl_0.14-2 libflac8_1.2.1-6 libfreetype6_2.4.9-1 libfreetype6-dev_2.4.9-1 libgc1c2_1:7.1-8 libgcc1_1:4.7.1-1 libgdbm3_1.8.3-11 libgettextpo0_0.18.1.1-9 libgl1-mesa-dev_8.0.3-1 libgl1-mesa-glx_8.0.3-1 libglapi-mesa_8.0.3-1 libglib2.0-0_2.32.3-1 libglib2.0-bin_2.32.3-1 libglib2.0-data_2.32.3-1 libglib2.0-dev_2.32.3-1 libglu1-mesa_8.0.3-1 libglu1-mesa-dev_8.0.3-1 libgmp10_2:5.0.5+dfsg-2 libgomp1_4.7.1-1 libgpm-dev_1.20.4-6 libgpm2_1.20.4-6 libice6_2:1.0.8-2 libitm1_4.7.1-1 libjpeg8_8d-1 libjpeg8-dev_8d-1 libjson0_0.9-1.1 libllvm3.1_3.1-1 liblocale-gettext-perl_1.05-7+b1 liblzma5_5.1.1alpha+20120614-1 libmagic1_5.11-1 libmount1_2.20.1-5.1 libmpc2_0.9-4 libmpfr4_3.1.0-5 libncurses5_5.9-9 libncurses5-dev_5.9-9 libncursesw5_5.9-9 libogg0_1.3.0-4 libpam-modules_1.1.3-7.1 libpam-modules-bin_1.1.3-7.1 libpam-runtime_1.1.3-7.1 libpam0g_1.1.3-7.1 libpcre3_1:8.30-5 libpcre3-dev_1:8.30-5 libpcrecpp0_1:8.30-5 libpipeline1_1.2.1-1 libpng12-0_1.2.49-1 libpng12-dev_1.2.49-1 libpopt0_1.16-7 libpthread-stubs0_0.3-3 libpthread-stubs0-dev_0.3-3 libpulse-dev_2.0-3 libpulse-mainloop-glib0_2.0-3 libpulse0_2.0-3 libquadmath0_4.7.1-1 libreadline6_6.2-8 libsdl1.2-dev_1.2.15-5 libsdl1.2debian_1.2.15-5 libselinux1_2.1.9-5 libsemanage-common_2.1.6-6 libsemanage1_2.1.6-6 libsepol1_2.1.4-3 libslang2_2.2.4-13 libslang2-dev_2.2.4-13 libsm6_2:1.2.1-2 libsndfile1_1.0.25-5 libss2_1.42.4-3 libstdc++6_4.7.1-1 libstdc++6-4.6-dev_4.6.3-7 libstdc++6-4.7-dev_4.7.1-1 libsvga1_1:1.4.3-33 libsvga1-dev_1:1.4.3-33 libswitch-perl_2.16-2 libtext-charwidth-perl_0.04-7+b1 libtext-iconv-perl_1.7-5 libtext-wrapi18n-perl_0.06-7 libtimedate-perl_1.2000-1 libtinfo-dev_5.9-9 libtinfo5_5.9-9 libts-0.0-0_1.0-11 libts-dev_1.0-11 libunistring0_0.9.3-5 libusb-0.1-4_2:0.1.12-23 libustr-1.0-1_1.0.4-3 libuuid1_2.20.1-5.1 libvorbis0a_1.3.2-1.3 libvorbisenc2_1.3.2-1.3 libwrap0_7.6.q-23 libx11-6_2:1.5.0-1 libx11-data_2:1.5.0-1 libx11-dev_2:1.5.0-1 libx11-xcb1_2:1.5.0-1 libx86-1_1.1+ds1-10 libxau-dev_1:1.0.7-1 libxau6_1:1.0.7-1 libxcb-glx0_1.8.1-1 libxcb1_1.8.1-1 libxcb1-dev_1.8.1-1 libxdamage1_1:1.1.3-2 libxdmcp-dev_1:1.1.1-1 libxdmcp6_1:1.1.1-1 libxext-dev_2:1.3.1-2 libxext6_2:1.3.1-2 libxfixes3_1:5.0-4 libxi6_2:1.6.1-1 libxml2_2.8.0+dfsg1-4 libxtst6_2:1.2.1-1 libxxf86vm1_1:1.1.2-1 linux-libc-dev_3.2.20-1 login_1:4.1.5.1-1 lsb-base_4.1+Debian7 make_3.81-8.2 man-db_2.6.2-1 mawk_1.3.3-17 mesa-common-dev_8.0.3-1 mount_2.20.1-5.1 multiarch-support_2.13-33 nasm_2.10.01-1 ncurses-base_5.9-9 ncurses-bin_5.9-9 passwd_1:4.1.5.1-1 patch_2.6.1-3 perl_5.14.2-12 perl-base_5.14.2-12 perl-modules_5.14.2-12 pkg-config_0.26-1 po-debconf_1.0.16+nmu2 readline-common_6.2-8 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-pearpc-dummy_0.invalid.0 sed_4.2.1-10 sensible-utils_0.0.7 sysv-rc_2.88dsf-27 sysvinit_2.88dsf-27 sysvinit-utils_2.88dsf-27 tar_1.26-4 tsconf_1.0-11 tzdata_2012c-1 ucf_3.0025+nmu3 util-linux_2.20.1-5.1 x11-common_1:7.6+13 x11proto-core-dev_7.0.23-1 x11proto-input-dev_2.2-1 x11proto-kb-dev_1.0.6-2 x11proto-xext-dev_7.2.1-1 xorg-sgml-doctools_1:1.10-1 xtrans-dev_1.2.7-1 xz-utils_5.1.1alpha+20120614-1 zlib1g_1:1.2.7.dfsg-13 zlib1g-dev_1:1.2.7.dfsg-13 ┌──────────────────────────────────────────────────────────────────────────────┐ │ Build │ └──────────────────────────────────────────────────────────────────────────────┘ Unpack source ───────────── gpgv: keyblock resource `/sbuild-nonexistent/.gnupg/trustedkeys.gpg': file open error gpgv: Signature made Fri Dec 9 23:59:41 2011 UTC using DSA key ID 7ADF9466 gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on ./pearpc_0.5.dfsg-2.dsc dpkg-source: info: extracting pearpc in pearpc-0.5.dfsg dpkg-source: info: unpacking pearpc_0.5.dfsg.orig.tar.bz2 dpkg-source: info: unpacking pearpc_0.5.dfsg-2.debian.tar.gz dpkg-source: info: applying fix_ftbfs_with_newer_gcc.patch Check disc space ──────────────── Sufficient free space for build User Environment ──────────────── HOME=/sbuild-nonexistent LOGNAME=root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11 SCHROOT_CHROOT_NAME=unstable-amd64-sbuild SCHROOT_COMMAND=env SCHROOT_GID=0 SCHROOT_GROUP=root SCHROOT_SESSION_ID=unstable-amd64-sbuild-f4cdd36f-5dc9-4e8a-9ea6-353c8458cab3 SCHROOT_UID=0 SCHROOT_USER=root SHELL=/bin/sh USER=root dpkg-buildpackage ───────────────── dpkg-buildpackage: warning: using a gain-root-command while being root dpkg-buildpackage: source package pearpc dpkg-buildpackage: source version 0.5.dfsg-2 dpkg-buildpackage: source changed by Leo Costela dpkg-source --before-build pearpc-0.5.dfsg dpkg-buildpackage: host architecture amd64 fakeroot debian/rules clean dh clean dh_testdir dh_auto_clean dh_clean debian/rules build-arch dh build-arch dh_testdir -a debian/rules override_dh_auto_configure make[1]: Entering directory `/«PKGBUILDDIR»' dh_auto_configure -- --enable-ui=sdl --program-suffix=.real configure: WARNING: unrecognized options: --disable-maintainer-mode checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking target system type... x86_64-pc-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes *** GNU, building POSIX version. we need pthread and rt. *** x86_64 target system checking for ranlib... ranlib checking for gmake... no checking for make... /usr/bin/make checking whether /usr/bin/make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by /usr/bin/make... GNU checking dependency style of gcc... none checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... none checking how to run the C preprocessor... gcc -E checking dependency style of gcc... none checking for flex... no checking for lex... no checking for bison... no checking for byacc... no checking for ar... /usr/bin/ar checking for gar... (cached) /usr/bin/ar checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for clock_settime in -lrt... yes checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking whether byte ordering is bigendian... no checking for sdl-config... /usr/bin/sdl-config checking for SDL - version >= 1.2.0... yes checking for gettimeofday... yes checking for memset... yes checking for setenv... yes checking for log2... yes checking for exp2... yes checking for ANSI C header files... (cached) yes checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking asm/types.h usability... yes checking asm/types.h presence... yes checking for asm/types.h... yes checking for stdint.h... (cached) yes checking for asm/types.h... (cached) yes checking for linux/netlink.h... yes checking for an ANSI C-conforming const... yes checking size of char... 1 checking size of short... 2 checking size of int... 4 checking size of long int... 8 checking size of long long... 8 configure: creating ./config.status config.status: creating Makefile config.status: creating doc/Makefile config.status: creating scripts/Makefile config.status: creating src/Makefile config.status: creating src/cpu/Makefile config.status: creating src/cpu/cpu_generic/Makefile config.status: creating src/cpu/cpu_jitc_x86/Makefile config.status: creating src/cpu/cpu_jitc_x86_64/Makefile config.status: creating src/debug/Makefile config.status: creating src/io/Makefile config.status: creating src/io/3c90x/Makefile config.status: creating src/io/ide/Makefile config.status: creating src/io/graphic/Makefile config.status: creating src/io/rtl8139/Makefile config.status: creating src/io/prom/Makefile config.status: creating src/io/prom/fs/Makefile config.status: creating src/io/prom/fs/hfs/Makefile config.status: creating src/io/prom/fs/hfsplus/Makefile config.status: creating src/io/cuda/Makefile config.status: creating src/io/pci/Makefile config.status: creating src/io/pic/Makefile config.status: creating src/io/macio/Makefile config.status: creating src/io/nvram/Makefile config.status: creating src/io/usb/Makefile config.status: creating src/io/serial/Makefile config.status: creating src/system/Makefile config.status: creating src/system/arch/Makefile config.status: creating src/system/arch/x86/Makefile config.status: creating src/system/arch/x86_64/Makefile config.status: creating src/system/arch/generic/Makefile config.status: creating src/system/osapi/Makefile config.status: creating src/system/osapi/beos/Makefile config.status: creating src/system/osapi/posix/Makefile config.status: creating src/system/osapi/win32/Makefile config.status: creating src/system/ui/Makefile config.status: creating src/system/ui/beos/Makefile config.status: creating src/system/ui/gtk/Makefile config.status: creating src/system/ui/qt/Makefile config.status: creating src/system/ui/sdl/Makefile config.status: creating src/system/ui/win32/Makefile config.status: creating src/system/ui/x11/Makefile config.status: creating src/tools/Makefile config.status: creating config.h config.status: executing depfiles commands configure: WARNING: unrecognized options: --disable-maintainer-mode ./configure successful. ================================================================================ Configuration summary ================================================================================ cpu emulation method: cpu_jitc_x86_64 compiled for architecture: x86_64 compiled for OS-API: posix compiled for UI system: sdl enable debug: yes enable profiling: no make release build: yes omit frame pointer: yes final C compiler flags: -Wundef -Wall -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT final C++ compiler flags: -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT final linker flags: -L/usr/lib/x86_64-linux-gnu -lSDL final linker add: -lpthread -lrt -lrt -L/usr/lib/x86_64-linux-gnu -lSDL ================================================================================ make[1]: Leaving directory `/«PKGBUILDDIR»' dh_auto_build -a make[1]: Entering directory `/«PKGBUILDDIR»' /usr/bin/make all-recursive make[2]: Entering directory `/«PKGBUILDDIR»' Making all in doc make[3]: Entering directory `/«PKGBUILDDIR»/doc' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/«PKGBUILDDIR»/doc' Making all in src make[3]: Entering directory `/«PKGBUILDDIR»/src' Making all in cpu make[4]: Entering directory `/«PKGBUILDDIR»/src/cpu' Making all in cpu_jitc_x86_64 make[5]: Entering directory `/«PKGBUILDDIR»/src/cpu/cpu_jitc_x86_64' g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o ppc_alu.o ppc_alu.cc g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o ppc_cpu.o ppc_cpu.cc g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o ppc_dec.o ppc_dec.cc ppc_dec.cc:1120:15: warning: unused variable 'last_instr' [-Wunused-variable] static uint32 last_instr = 0, instr_report = 0, instr_count = 0; ^ ppc_dec.cc:1120:31: warning: unused variable 'instr_report' [-Wunused-variable] static uint32 last_instr = 0, instr_report = 0, instr_count = 0; ^ ppc_dec.cc:1120:49: warning: unused variable 'instr_count' [-Wunused-variable] static uint32 last_instr = 0, instr_report = 0, instr_count = 0; ^ 3 warnings generated. g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o ppc_esc.o ppc_esc.cc g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o ppc_exc.o ppc_exc.cc g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o ppc_fpu.o ppc_fpu.cc g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o ppc_mmu.o ppc_mmu.cc g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o ppc_opc.o ppc_opc.cc ppc_opc.cc:1191:15: warning: unused variable 'ppc_to_x86_roundmode' [-Wunused-variable] static uint32 ppc_to_x86_roundmode[] = { ^ 1 warning generated. g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o ppc_vec.o ppc_vec.cc g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o jitc.o jitc.cc g++ -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -Wundef -Wall -Woverloaded-virtual -fsigned-char -O3 -fomit-frame-pointer -g -fno-inline -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o jitc_debug.o jitc_debug.cc gcc -DHAVE_CONFIG_H -I. -I../../.. -I ../.. -c -o jitc_mmu.o jitc_mmu.S jitc_mmu.S:280:17: warning: '/*' within block comment [-Wcomment] /* add %rsp, 8; /* hash1, no longer needed */ \ ^ 1 warning generated. jitc_mmu.S:36:1: warning: ignoring directive for now .intel_syntax prefix ^ ./jitc_common.h:3:1: warning: ignoring directive for now .struct 0 #PPC_CPU_State ^ ./jitc_common.h:4:8: warning: ignoring directive for now jitc:;.struct jitc+8 ^ ./jitc_common.h:5:7: warning: ignoring directive for now gpr:;.struct gpr+32*4 ^ ./jitc_common.h:6:7: warning: ignoring directive for now fpr:;.struct fpr+32*8 ^ ./jitc_common.h:7:6: warning: ignoring directive for now cr:;.struct cr+4 ^ ./jitc_common.h:8:9: warning: ignoring directive for now fpscr:;.struct fpscr+4 ^ ./jitc_common.h:9:7: warning: ignoring directive for now xer:;.struct xer+4 ^ ./jitc_common.h:10:10: warning: ignoring directive for now xer_ca:;.struct xer_ca+4 ^ ./jitc_common.h:11:9: warning: ignoring directive for now ltreg:;.struct ltreg+4 ^ ./jitc_common.h:12:7: warning: ignoring directive for now ctr:;.struct ctr+4 ^ ./jitc_common.h:14:7: warning: ignoring directive for now msr:;.struct msr+4 ^ ./jitc_common.h:15:7: warning: ignoring directive for now pvr:;.struct pvr+4 ^ ./jitc_common.h:17:9: warning: ignoring directive for now ibatu:;.struct ibatu+4*4 ^ ./jitc_common.h:18:9: warning: ignoring directive for now ibatl:;.struct ibatl+4*4 ^ ./jitc_common.h:19:11: warning: ignoring directive for now ibat_bl:;.struct ibat_bl+4*4 ^ ./jitc_common.h:20:12: warning: ignoring directive for now ibat_nbl:;.struct ibat_nbl+4*4 ^ ./jitc_common.h:21:13: warning: ignoring directive for now ibat_bepi:;.struct ibat_bepi+4*4 ^ ./jitc_common.h:22:13: warning: ignoring directive for now ibat_brpn:;.struct ibat_brpn+4*4 ^ ./jitc_common.h:24:9: warning: ignoring directive for now dbatu:;.struct dbatu+4*4 ^ ./jitc_common.h:25:9: warning: ignoring directive for now dbatl:;.struct dbatl+4*4 ^ ./jitc_common.h:26:11: warning: ignoring directive for now dbat_bl:;.struct dbat_bl+4*4 ^ ./jitc_common.h:27:12: warning: ignoring directive for now dbat_nbl:;.struct dbat_nbl+4*4 ^ ./jitc_common.h:28:13: warning: ignoring directive for now dbat_bepi:;.struct dbat_bepi+4*4 ^ ./jitc_common.h:29:13: warning: ignoring directive for now dbat_brpn:;.struct dbat_brpn+4*4 ^ ./jitc_common.h:31:8: warning: ignoring directive for now sdr1:;.struct sdr1+4 ^ ./jitc_common.h:33:6: warning: ignoring directive for now sr:;.struct sr+16*4 ^ ./jitc_common.h:35:7: warning: ignoring directive for now dar:;.struct dar+4 ^ ./jitc_common.h:36:9: warning: ignoring directive for now dsisr:;.struct dsisr+4 ^ ./jitc_common.h:37:8: warning: ignoring directive for now sprg:;.struct sprg+4*4 ^ ./jitc_common.h:38:8: warning: ignoring directive for now srr0:;.struct srr0+4 ^ ./jitc_common.h:39:8: warning: ignoring directive for now srr1:;.struct srr1+4 ^ ./jitc_common.h:41:8: warning: ignoring directive for now decr:;.struct decr+4 ^ ./jitc_common.h:42:7: warning: ignoring directive for now ear:;.struct ear+4 ^ ./jitc_common.h:43:7: warning: ignoring directive for now pir:;.struct pir+4 ^ ./jitc_common.h:44:6: warning: ignoring directive for now tb:;.struct tb+8 ^ ./jitc_common.h:46:7: warning: ignoring directive for now hid:;.struct hid+16*4 ^ ./jitc_common.h:48:6: warning: ignoring directive for now pc:;.struct pc+4 ^ ./jitc_common.h:49:7: warning: ignoring directive for now npc:;.struct npc+4 ^ ./jitc_common.h:50:15: warning: ignoring directive for now current_opc:;.struct current_opc+4 ^ ./jitc_common.h:52:21: warning: ignoring directive for now exception_pending:;.struct exception_pending+1 ^ ./jitc_common.h:53:17: warning: ignoring directive for now dec_exception:;.struct dec_exception+1 ^ ./jitc_common.h:54:17: warning: ignoring directive for now ext_exception:;.struct ext_exception+1 ^ ./jitc_common.h:55:18: warning: ignoring directive for now stop_exception:;.struct stop_exception+1 ^ ./jitc_common.h:56:21: warning: ignoring directive for now singlestep_ignore:;.struct singlestep_ignore+1 ^ ./jitc_common.h:57:10: warning: ignoring directive for now align1:;.struct align1+1 ^ ./jitc_common.h:58:10: warning: ignoring directive for now align2:;.struct align2+1 ^ ./jitc_common.h:59:10: warning: ignoring directive for now align3:;.struct align3+1 ^ ./jitc_common.h:61:18: warning: ignoring directive for now pagetable_base:;.struct pagetable_base+4 ^ ./jitc_common.h:62:22: warning: ignoring directive for now pagetable_hashmask:;.struct pagetable_hashmask+4 ^ ./jitc_common.h:63:11: warning: ignoring directive for now reserve:;.struct reserve+4 ^ ./jitc_common.h:64:20: warning: ignoring directive for now have_reservation:;.struct have_reservation+4 ^ ./jitc_common.h:66:12: warning: ignoring directive for now tlb_last:;.struct tlb_last+4 ^ ./jitc_common.h:67:10: warning: ignoring directive for now tlb_pa:;.struct tlb_pa+4*4 ^ ./jitc_common.h:68:10: warning: ignoring directive for now tlb_va:;.struct tlb_va+4*4 ^ ./jitc_common.h:69:8: warning: ignoring directive for now pdec:;.struct pdec+8 ^ ./jitc_common.h:70:7: warning: ignoring directive for now ptb:;.struct ptb+8 ^ ./jitc_common.h:72:8: warning: ignoring directive for now temp:;.struct temp+4 ^ ./jitc_common.h:73:9: warning: ignoring directive for now temp2:;.struct temp2+4 ^ ./jitc_common.h:74:9: warning: ignoring directive for now x87cw:;.struct x87cw+4 ^ ./jitc_common.h:75:10: warning: ignoring directive for now pc_ofs:;.struct pc_ofs+4 ^ ./jitc_common.h:76:21: warning: ignoring directive for now current_code_base:;.struct current_code_base+4 ^ ./jitc_common.h:78:18: warning: ignoring directive for now tlb_code_0_eff:;.struct tlb_code_0_eff+32*4 ^ ./jitc_common.h:79:18: warning: ignoring directive for now tlb_data_0_eff:;.struct tlb_data_0_eff+32*4 ^ ./jitc_common.h:80:18: warning: ignoring directive for now tlb_data_8_eff:;.struct tlb_data_8_eff+32*4 ^ ./jitc_common.h:81:19: warning: ignoring directive for now tlb_code_0_phys:;.struct tlb_code_0_phys+32*4 ^ ./jitc_common.h:82:19: warning: ignoring directive for now tlb_data_0_phys:;.struct tlb_data_0_phys+32*4 ^ ./jitc_common.h:83:19: warning: ignoring directive for now tlb_data_8_phys:;.struct tlb_data_8_phys+32*4 ^ ./jitc_common.h:85:1: warning: ignoring directive for now .struct 0 #JITC ^ ./jitc_common.h:86:15: warning: ignoring directive for now clientPages:;.struct clientPages+8 ^ ./jitc_common.h:88:1: warning: ignoring directive for now .struct 0 #ClientPage ^ ./jitc_common.h:89:15: warning: ignoring directive for now entrypoints:;.struct entrypoints+1024*8 ^ ./jitc_common.h:90:15: warning: ignoring directive for now tcf_current:;.struct tcf_current+8 ^ ./jitc_common.h:91:15: warning: ignoring directive for now baseaddress:;.struct baseaddress+4 ^ ./jitc_common.h:92:13: warning: ignoring directive for now bytesLeft:;.struct bytesLeft+4 ^ ./jitc_common.h:93:7: warning: ignoring directive for now tcp:;.struct tcp+8 ^ ./jitc_common.h:94:10: warning: ignoring directive for now moreRU:;.struct moreRU+8 ^ ./jitc_common.h:95:10: warning: ignoring directive for now lessRU:;.struct lessRU+8 ^ jitc_mmu.S:106:6: error: unknown token in expression mov %r8, %rdi ^ jitc_mmu.S:107:5: error: unknown token in expression or %rax, -1 ^ jitc_mmu.S:108:6: error: unknown token in expression mov %ecx, 32*4*3 / 8 ^ jitc_mmu.S:109:6: error: unknown token in expression add %rdi, tlb_code_0_eff ^ jitc_mmu.S:111:6: error: unknown token in expression mov %rdi, %r8 ^ jitc_mmu.S:121:5: error: unknown token in expression or %ecx, -1 ^ jitc_mmu.S:122:6: error: unknown token in expression shr %eax, 12 ^ jitc_mmu.S:123:6: error: unknown token in expression and %eax, 32 -1 ^ jitc_mmu.S:124:7: error: unknown token in expression mov [%rdi+tlb_code_0_eff + %rax*4], %ecx ^ jitc_mmu.S:125:7: error: unknown token in expression mov [%rdi+tlb_data_0_eff + %rax*4], %ecx ^ jitc_mmu.S:126:7: error: unknown token in expression mov [%rdi+tlb_data_8_eff + %rax*4], %ecx ^ jitc_mmu.S:157:7: error: unknown token in expression push %rax ^ jitc_mmu.S:158:7: error: unknown token in expression push %rcx ^ jitc_mmu.S:159:7: error: unknown token in expression push %rsi ^ jitc_mmu.S:160:7: error: unknown token in expression push %rdi ^ jitc_mmu.S:161:7: error: unknown token in expression push %r8 ^ jitc_mmu.S:162:6: error: unknown token in expression mov %edi, %ebx ^ jitc_mmu.S:163:6: error: unknown token in expression sub %edi, 0x84000000 ^ jitc_mmu.S:165:6: error: unknown token in expression pop %r8 ^ jitc_mmu.S:166:6: error: unknown token in expression pop %rdi ^ jitc_mmu.S:167:6: error: unknown token in expression pop %rsi ^ jitc_mmu.S:168:6: error: unknown token in expression pop %rcx ^ jitc_mmu.S:169:6: error: unknown token in expression pop %rax ^ jitc_mmu.S:341:6: error: unknown token in expression pop %rdx # return address is no longer needed ^ jitc_mmu.S:342:6: error: unknown token in expression pop %rbx # bytes to roll back ^ jitc_mmu.S:343:6: error: unknown token in expression add %rsp, %rbx ^ jitc_mmu.S:344:6: error: unknown token in expression mov %ecx, (1<<27) # PPC_EXC_SRR1_PROT ^ jitc_mmu.S:349:6: error: unknown token in expression pop %rdx # return address is no longer needed ^ jitc_mmu.S:350:6: error: unknown token in expression pop %rbx # bytes to roll back ^ jitc_mmu.S:351:6: error: unknown token in expression add %rsp, %rbx ^ jitc_mmu.S:352:6: error: unknown token in expression mov %ecx, (1<<27) # PPC_EXC_DSISR_PROT ^ jitc_mmu.S:357:6: error: unknown token in expression pop %rdx # return address is no longer needed ^ jitc_mmu.S:358:6: error: unknown token in expression pop %rbx # bytes to roll back ^ jitc_mmu.S:359:6: error: unknown token in expression add %rsp, %rbx ^ jitc_mmu.S:360:6: error: unknown token in expression mov %ecx, (1<<27) | (1<<25) # PPC_EXC_DSISR_PROT | PPC_EXC_DSISR_STORE ^ jitc_mmu.S:383:6: error: unknown token in expression mov %edx, %eax ^ jitc_mmu.S:384:6: error: unknown token in expression mov %ecx, %eax ^ jitc_mmu.S:385:6: error: unknown token in expression shr %edx, 12 ^ jitc_mmu.S:386:6: error: unknown token in expression and %ecx, 0xfffff000 ^ jitc_mmu.S:387:6: error: unknown token in expression and %edx, 32 -1 ^ jitc_mmu.S:388:7: error: unknown token in expression mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx ^ jitc_mmu.S:389:12: error: unexpected token in argument list mov dword ptr [%rdi+tlb_code_0_phys + %rdx*4], 0 ^ jitc_mmu.S:401:6: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_code_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_code_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:401:22: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_code_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_code_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:401:38: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_code_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_code_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:401:52: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_code_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_code_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:401:74: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_code_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_code_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:401:91: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_code_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_code_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:401:129: error: invalid operand for instruction mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_code_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_code_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:401:141: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_code_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_code_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:403:12: error: unexpected token in argument list test byte ptr [%rdi+msr], (1<<5) # MSR_IR ^ jitc_mmu.S:404:2: error: invalid instruction mnemonic 'jz' jz ppc_effective_to_physical_code_ret ^~ jitc_mmu.S:406:6: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:38: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:72: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:88: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:100: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:117: error: unexpected token in argument list mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:141: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:155: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:171: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:406:208: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:224: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:240: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:262: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:294: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:328: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:342: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:358: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:374: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:391: error: expected absolute expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:407: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:428: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:439: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:472: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:489: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:531: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:573: error: expected absolute expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:589: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:625: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:655: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:673: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:684: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:706: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:406:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+ibat_bl + 0*4]; mov %ebx, [%rdi+ibat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 0*4]; or %eax, [%rdi+ibat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:6: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:38: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:72: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:88: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:100: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:117: error: unexpected token in argument list mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:141: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:155: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:171: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:407:208: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:224: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:240: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:262: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:294: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:328: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:342: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:358: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:374: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:391: error: expected absolute expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:407: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:428: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:439: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:472: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:489: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:531: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:573: error: expected absolute expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:589: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:625: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:655: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:673: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:684: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:706: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:407:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+ibat_bl + 1*4]; mov %ebx, [%rdi+ibat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 1*4]; or %eax, [%rdi+ibat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:6: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:38: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:72: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:88: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:100: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:117: error: unexpected token in argument list mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:141: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:155: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:171: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:408:208: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:224: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:240: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:262: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:294: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:328: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:342: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:358: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:374: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:391: error: expected absolute expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:407: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:428: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:439: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:472: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:489: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:531: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:573: error: expected absolute expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:589: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:625: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:655: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:673: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:684: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:706: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:408:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+ibat_bl + 2*4]; mov %ebx, [%rdi+ibat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 2*4]; or %eax, [%rdi+ibat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:6: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:38: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:72: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:88: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:100: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:117: error: unexpected token in argument list mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:141: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:155: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:171: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:409:208: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:224: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:240: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:262: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:294: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:328: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:342: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:358: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:374: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:391: error: expected absolute expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:407: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:428: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:439: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:472: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:489: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:531: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:573: error: expected absolute expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:589: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:625: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:655: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:673: error: invalid operand for instruction mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:684: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:706: error: unknown token in expression mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:409:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+ibat_bl + 3*4]; mov %ebx, [%rdi+ibat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+ibatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+ibat_nbl + 3*4]; or %eax, [%rdi+ibat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if code==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_code_0_eff + %rcx*4], %esi; mov [%rdi+tlb_code_0_phys + %rcx*4], %edx; .if code==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:411:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:412:6: error: unknown token in expression shr %ebx, 28 # SR ^ jitc_mmu.S:413:6: error: unknown token in expression mov %edx, [%rdi+sr+4*%rbx] ^ jitc_mmu.S:418:7: error: unknown token in expression test %edx, (1<<28) # SR_N ^ jitc_mmu.S:419:2: error: invalid instruction mnemonic 'jnz' jnz 9f ^~~ jitc_mmu.S:421:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:422:6: error: unknown token in expression mov %r12d, %edx ^ jitc_mmu.S:423:6: error: unknown token in expression shr %ebx, 12 ^ jitc_mmu.S:424:6: error: unknown token in expression mov %r8d, %eax ^ jitc_mmu.S:425:6: error: unknown token in expression and %ebx, 0xffff ^ jitc_mmu.S:426:6: error: unknown token in expression shr %r8d, 22 ^ jitc_mmu.S:427:6: error: unknown token in expression and %r12d, 0xffffff ^ jitc_mmu.S:428:6: error: unknown token in expression and %r8d, 0x3f ^ jitc_mmu.S:441:6: error: unknown token in expression xor %ebx, %r12d ^ jitc_mmu.S:446:7: error: unknown token in expression push %rax ^ jitc_mmu.S:447:7: error: unknown token in expression push %rbx # das brauch ich ^ jitc_mmu.S:449:6: error: unknown token in expression and %ebx, [%rdi+pagetable_hashmask] ^ jitc_mmu.S:450:6: error: unknown token in expression shl %ebx, 6 ^ jitc_mmu.S:451:5: error: unknown token in expression or %ebx, [%rdi+pagetable_base] ^ jitc_mmu.S:456:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:133: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:145: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:161: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:174: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:194: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:207: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:219: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:235: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:247: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:259: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:280: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:315: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:332: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:361: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:381: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:390: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:406: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:424: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:435: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:450: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:466: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:484: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:549: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:567: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:606: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:631: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:692: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:702: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:724: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:746: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:768: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:784: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:800: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:814: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:836: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:853: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:869: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:885: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:901: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:922: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:933: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:967: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1009: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1051: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1079: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1098: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1116: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1128: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1146: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1181: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1207: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1225: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:456:1240: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:133: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:145: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:161: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:174: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:194: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:207: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:219: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:235: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:247: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:259: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:280: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:315: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:332: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:361: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:381: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:390: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:406: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:424: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:435: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:450: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:466: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:484: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:549: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:567: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:606: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:631: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:692: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:702: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:724: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:746: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:768: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:784: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:800: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:814: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:836: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:853: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:869: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:885: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:901: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:922: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:933: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:967: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1009: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1051: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1079: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1098: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1116: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1128: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1146: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1181: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1207: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1225: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:457:1240: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:458:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:459:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:460:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:461:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:462:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:463:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:467:6: error: unknown token in expression pop %rbx ^ jitc_mmu.S:468:6: error: unknown token in expression not %ebx ^ jitc_mmu.S:469:6: error: unknown token in expression and %ebx, [%rdi+pagetable_hashmask] ^ jitc_mmu.S:470:6: error: unknown token in expression shl %ebx, 6 ^ jitc_mmu.S:471:5: error: unknown token in expression or %ebx, [%rdi+pagetable_base] ^ jitc_mmu.S:473:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:136: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:148: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:164: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:177: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:197: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:210: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:222: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:238: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:250: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:262: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:283: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:318: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:335: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:364: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:384: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:393: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:409: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:427: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:438: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:453: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:469: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:487: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:573: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:612: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:637: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:698: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:708: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:730: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:752: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:774: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:790: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:806: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:820: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:842: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:859: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:875: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:891: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:907: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:928: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:939: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:973: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1015: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1057: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1085: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1104: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1122: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1134: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1152: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1187: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1213: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1231: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:473:1246: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:136: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:148: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:164: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:177: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:197: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:210: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:222: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:238: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:250: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:262: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:283: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:318: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:335: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:364: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:384: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:393: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:409: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:427: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:438: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:453: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:469: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:487: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:573: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:612: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:637: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:698: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:708: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:730: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:752: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:774: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:790: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:806: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:820: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:842: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:859: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:875: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:891: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:907: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:928: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:939: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:973: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1015: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1057: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1085: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1104: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1122: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1134: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1152: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1187: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1213: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1231: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:474:1246: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:475:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:476:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:477:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:478:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:479:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:480:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_code; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if code==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_code_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_code_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if code==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:485:6: error: unknown token in expression pop %rax ^ jitc_mmu.S:486:6: error: unknown token in expression pop %rdx # return address is no longer needed ^ jitc_mmu.S:487:6: error: unknown token in expression pop %rcx # bytes to roll back ^ jitc_mmu.S:488:6: error: unknown token in expression add %rsp, %rcx ^ jitc_mmu.S:490:6: error: unknown token in expression mov %ecx, (1<<30) # PPC_EXC_SRR1_PAGE ^ jitc_mmu.S:495:6: error: unknown token in expression pop %rdx # return address is no longer needed ^ jitc_mmu.S:496:6: error: unknown token in expression pop %rcx # bytes to roll back ^ jitc_mmu.S:497:6: error: unknown token in expression add %rsp, %rcx ^ jitc_mmu.S:499:6: error: unknown token in expression mov %ecx, (1<<28) # PPC_EXC_SRR1_GUARD ^ jitc_mmu.S:504:6: error: unknown token in expression mov %edx, %eax ^ jitc_mmu.S:505:6: error: unknown token in expression mov %ecx, %eax ^ jitc_mmu.S:506:6: error: unknown token in expression shr %edx, 12 ^ jitc_mmu.S:507:6: error: unknown token in expression and %ecx, 0xfffff000 ^ jitc_mmu.S:508:6: error: unknown token in expression and %edx, 32 -1 ^ jitc_mmu.S:509:6: error: unknown token in expression cmp %ecx, [gMemorySize] ^ jitc_mmu.S:510:6: error: unknown token in expression mov %ebx, [gMemory] ^ jitc_mmu.S:511:2: error: invalid operand for instruction ja 4f ^ jitc_mmu.S:512:7: error: unknown token in expression mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx ^ jitc_mmu.S:513:12: error: unexpected token in argument list mov dword ptr [%rdi+tlb_data_0_phys + %rdx*4], %ebx ^ jitc_mmu.S:514:6: error: unknown token in expression add %eax, %ebx ^ jitc_mmu.S:529:6: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:529:22: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:529:38: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:529:52: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:529:74: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:529:91: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:529:129: error: invalid operand for instruction mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:529:141: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_0_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_0_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:531:12: error: unexpected token in argument list test byte ptr [%rdi+msr], (1<<4) # MSR_DR ^ jitc_mmu.S:532:2: error: invalid instruction mnemonic 'jz' jz ppc_effective_to_physical_data_read_ret ^~ jitc_mmu.S:534:6: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:38: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:72: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:88: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:100: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:117: error: unexpected token in argument list mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:141: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:155: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:171: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:534:208: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:224: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:240: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:262: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:294: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:328: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:342: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:358: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:374: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:391: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:407: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:428: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:439: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:472: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:489: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:531: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:573: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:589: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:625: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:655: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:673: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:684: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:706: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:534:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:6: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:38: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:72: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:88: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:100: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:117: error: unexpected token in argument list mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:141: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:155: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:171: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:535:208: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:224: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:240: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:262: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:294: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:328: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:342: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:358: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:374: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:391: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:407: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:428: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:439: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:472: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:489: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:531: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:573: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:589: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:625: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:655: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:673: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:684: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:706: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:535:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:6: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:38: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:72: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:88: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:100: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:117: error: unexpected token in argument list mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:141: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:155: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:171: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:536:208: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:224: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:240: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:262: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:294: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:328: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:342: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:358: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:374: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:391: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:407: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:428: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:439: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:472: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:489: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:531: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:573: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:589: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:625: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:655: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:673: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:684: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:706: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:536:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:6: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:38: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:72: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:88: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:100: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:117: error: unexpected token in argument list mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:141: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:155: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:171: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:537:208: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:224: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:240: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:262: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:294: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:328: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:342: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:358: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:374: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:391: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:407: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:428: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:439: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:472: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:489: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:531: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:573: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:589: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:625: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:655: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:673: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:684: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:706: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:537:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_0_eff + %rcx*4], %esi; mov [%rdi+tlb_data_0_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:539:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:540:6: error: unknown token in expression shr %ebx, 28 # SR ^ jitc_mmu.S:541:6: error: unknown token in expression mov %edx, [%rdi+sr+4*%rbx] ^ jitc_mmu.S:546:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:547:6: error: unknown token in expression mov %r12d, %edx ^ jitc_mmu.S:548:6: error: unknown token in expression shr %ebx, 12 ^ jitc_mmu.S:549:6: error: unknown token in expression mov %r8d, %eax ^ jitc_mmu.S:550:6: error: unknown token in expression and %ebx, 0xffff ^ jitc_mmu.S:551:6: error: unknown token in expression shr %r8d, 22 ^ jitc_mmu.S:552:6: error: unknown token in expression and %r12d, 0xffffff ^ jitc_mmu.S:553:6: error: unknown token in expression and %r8d, 0x3f ^ jitc_mmu.S:566:6: error: unknown token in expression xor %ebx, %r12d ^ jitc_mmu.S:571:7: error: unknown token in expression push %rax ^ jitc_mmu.S:572:7: error: unknown token in expression push %rbx # das brauch ich ^ jitc_mmu.S:574:6: error: unknown token in expression and %ebx, [%rdi+pagetable_hashmask] ^ jitc_mmu.S:575:6: error: unknown token in expression shl %ebx, 6 ^ jitc_mmu.S:576:5: error: unknown token in expression or %ebx, [%rdi+pagetable_base] ^ jitc_mmu.S:581:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:133: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:145: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:161: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:174: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:194: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:207: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:219: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:235: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:247: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:259: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:280: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:315: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:332: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:361: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:381: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:390: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:406: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:424: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:435: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:450: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:466: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:484: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:549: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:567: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:606: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:631: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:692: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:702: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:724: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:746: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:768: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:784: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:800: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:814: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:836: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:853: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:869: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:885: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:901: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:922: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:933: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:967: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1009: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1051: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1079: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1098: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1116: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1128: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1146: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1181: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1207: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1225: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:581:1240: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:133: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:145: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:161: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:174: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:194: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:207: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:219: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:235: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:247: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:259: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:280: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:315: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:332: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:361: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:381: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:390: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:406: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:424: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:435: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:450: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:466: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:484: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:549: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:567: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:606: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:631: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:692: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:702: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:724: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:746: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:768: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:784: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:800: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:814: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:836: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:853: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:869: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:885: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:901: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:922: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:933: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:967: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1009: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1051: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1079: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1098: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1116: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1128: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1146: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1181: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1207: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1225: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:582:1240: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:583:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:584:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:585:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:586:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:587:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:633: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:588:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:592:6: error: unknown token in expression pop %rbx ^ jitc_mmu.S:593:6: error: unknown token in expression not %ebx ^ jitc_mmu.S:594:6: error: unknown token in expression and %ebx, [%rdi+pagetable_hashmask] ^ jitc_mmu.S:595:6: error: unknown token in expression shl %ebx, 6 ^ jitc_mmu.S:596:5: error: unknown token in expression or %ebx, [%rdi+pagetable_base] ^ jitc_mmu.S:598:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:136: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:148: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:164: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:177: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:197: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:210: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:222: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:238: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:250: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:262: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:283: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:318: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:335: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:364: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:384: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:393: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:409: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:427: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:438: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:453: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:469: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:487: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:573: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:612: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:637: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:698: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:708: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:730: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:752: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:774: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:790: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:806: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:820: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:842: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:859: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:875: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:891: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:907: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:928: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:939: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:973: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1015: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1057: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1085: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1104: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1122: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1134: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1152: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1187: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1213: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1231: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:598:1246: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:136: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:148: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:164: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:177: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:197: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:210: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:222: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:238: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:250: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:262: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:283: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:318: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:335: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:364: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:384: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:393: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:409: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:427: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:438: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:453: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:469: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:487: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:573: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:612: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:637: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:698: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:708: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:730: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:752: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:774: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:790: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:806: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:820: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:842: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:859: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:875: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:891: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:907: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:928: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:939: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:973: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1015: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1057: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1085: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1104: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1122: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1134: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1152: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1187: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1213: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1231: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:599:1246: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:600:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:601:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:602:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:603:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:604:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:639: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:605:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (0) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_0_data; mov %edx, %esi; .if 0==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_0_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_0_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:610:6: error: unknown token in expression pop %rax ^ jitc_mmu.S:611:6: error: unknown token in expression pop %rdx # return address is no longer needed ^ jitc_mmu.S:612:6: error: unknown token in expression pop %rcx # bytes to roll back ^ jitc_mmu.S:613:6: error: unknown token in expression add %rsp, %rcx ^ jitc_mmu.S:615:6: error: unknown token in expression mov %ecx, (1<<30) # PPC_EXC_DSISR_PAGE ^ jitc_mmu.S:620:6: error: unknown token in expression mov %edx, %eax ^ jitc_mmu.S:621:6: error: unknown token in expression mov %ecx, %eax ^ jitc_mmu.S:622:6: error: unknown token in expression shr %edx, 12 ^ jitc_mmu.S:623:6: error: unknown token in expression and %ecx, 0xfffff000 ^ jitc_mmu.S:624:6: error: unknown token in expression and %edx, 32 -1 ^ jitc_mmu.S:625:6: error: unknown token in expression cmp %ecx, [gMemorySize] ^ jitc_mmu.S:626:6: error: unknown token in expression mov %ebx, [gMemory] ^ jitc_mmu.S:627:2: error: invalid operand for instruction ja 4f ^ jitc_mmu.S:628:7: error: unknown token in expression mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx ^ jitc_mmu.S:629:12: error: unexpected token in argument list mov dword ptr [%rdi+tlb_data_8_phys + %rdx*4], %ebx ^ jitc_mmu.S:630:6: error: unknown token in expression add %eax, %ebx ^ jitc_mmu.S:645:6: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_8_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_8_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:645:22: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_8_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_8_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:645:38: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_8_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_8_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:645:52: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_8_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_8_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:645:74: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_8_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_8_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:645:91: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_8_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_8_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:645:129: error: invalid operand for instruction mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_8_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_8_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:645:141: error: unknown token in expression mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; cmp %ecx, [%rdi+tlb_data_8_eff + %rdx*4]; jne 1f; add %eax, [%rdi+tlb_data_8_phys + %rdx*4]; clc; ret 8; 1: ^ jitc_mmu.S:647:12: error: unexpected token in argument list test byte ptr [%rdi+msr], (1<<4) # MSR_DR ^ jitc_mmu.S:648:2: error: invalid instruction mnemonic 'jz' jz ppc_effective_to_physical_data_write_ret ^~ jitc_mmu.S:650:6: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:38: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:72: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:88: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:100: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:117: error: unexpected token in argument list mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:141: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:155: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:171: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:650:208: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:224: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:240: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:262: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:294: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:328: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:342: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:358: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:374: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:391: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:407: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:428: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:439: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:472: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:489: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:531: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:573: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:589: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:625: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:655: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:673: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:684: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:706: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:650:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 0*4]; mov %ebx, [%rdi+dbat_bepi + 0*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 0*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 0*4]; or %eax, [%rdi+dbat_brpn + 0*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:6: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:38: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:72: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:88: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:100: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:117: error: unexpected token in argument list mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:141: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:155: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:171: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:651:208: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:224: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:240: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:262: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:294: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:328: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:342: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:358: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:374: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:391: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:407: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:428: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:439: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:472: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:489: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:531: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:573: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:589: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:625: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:655: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:673: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:684: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:706: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:651:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 1*4]; mov %ebx, [%rdi+dbat_bepi + 1*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 1*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 1*4]; or %eax, [%rdi+dbat_brpn + 1*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:6: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:38: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:72: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:88: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:100: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:117: error: unexpected token in argument list mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:141: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:155: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:171: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:652:208: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:224: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:240: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:262: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:294: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:328: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:342: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:358: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:374: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:391: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:407: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:428: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:439: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:472: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:489: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:531: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:573: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:589: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:625: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:655: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:673: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:684: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:706: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:652:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 2*4]; mov %ebx, [%rdi+dbat_bepi + 2*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 2*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 2*4]; or %eax, [%rdi+dbat_brpn + 2*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:6: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:38: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:72: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:88: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:100: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:117: error: unexpected token in argument list mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:141: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:155: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:171: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:197: error: invalid instruction mnemonic 'jz' mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^~ jitc_mmu.S:653:208: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:224: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:240: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:262: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:294: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:328: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:342: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:358: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:374: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:391: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:407: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:428: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:439: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:472: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:489: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:531: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:573: error: expected absolute expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:589: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:625: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:643: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:655: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:673: error: invalid operand for instruction mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:684: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:706: error: unknown token in expression mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:653:728: error: unknown use of instruction mnemonic without a size suffix mov %edx, [%rdi+dbat_bl + 3*4]; mov %ebx, [%rdi+dbat_bepi + 3*4]; and %edx, %eax; cmp %ebx, %edx; jne 3f; bt dword ptr [%rdi+msr], 14; mov %r12d, 2; sbb %r12d, 0; test [%rdi+dbatu + 3*4], %r12d; jz 3f; mov %esi, %eax; mov %ecx, %eax; mov %edx, 0xfffff000; and %eax, [%rdi+dbat_nbl + 3*4]; or %eax, [%rdi+dbat_brpn + 3*4]; shr %ecx, 12; and %esi, %edx; and %edx, %eax; and %ecx, 32 -1; .if data==data; cmp %edx, [gMemorySize]; ja 4f; add %edx, [gMemory]; 6:; .endif; sub %edx, %esi; mov [%rdi+tlb_data_8_eff + %rcx*4], %esi; mov [%rdi+tlb_data_8_phys + %rcx*4], %edx; .if data==data; add %eax, [gMemory]; clc; ret 8; 4: cmp %edx, 0x84000000; jmp 5f; cmp %edx, 0x85000000; ja 5f; sub %edx, 0x84000000; add %edx, [gFrameBuffer]; jmp 6b; 5: stc; .endif; ret 8; 3: ^ jitc_mmu.S:655:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:656:6: error: unknown token in expression shr %eax, 28 # SR ^ jitc_mmu.S:657:6: error: unknown token in expression mov %edx, [%rdi+sr+4*%rax] ^ jitc_mmu.S:662:6: error: unknown token in expression mov %eax, %ebx ^ jitc_mmu.S:663:6: error: unknown token in expression mov %r8d, %ebx ^ jitc_mmu.S:664:6: error: unknown token in expression mov %r12d, %edx ^ jitc_mmu.S:665:6: error: unknown token in expression shr %ebx, 12 ^ jitc_mmu.S:666:6: error: unknown token in expression and %ebx, 0xffff ^ jitc_mmu.S:667:6: error: unknown token in expression shr %r8d, 22 ^ jitc_mmu.S:668:6: error: unknown token in expression and %r12d, 0xffffff ^ jitc_mmu.S:669:6: error: unknown token in expression and %r8d, 0x3f ^ jitc_mmu.S:682:6: error: unknown token in expression xor %ebx, %r12d ^ jitc_mmu.S:687:7: error: unknown token in expression push %rax ^ jitc_mmu.S:688:7: error: unknown token in expression push %rbx # das brauch ich ^ jitc_mmu.S:690:6: error: unknown token in expression and %ebx, [%rdi+pagetable_hashmask] ^ jitc_mmu.S:691:6: error: unknown token in expression shl %ebx, 6 ^ jitc_mmu.S:692:5: error: unknown token in expression or %ebx, [%rdi+pagetable_base] ^ jitc_mmu.S:697:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:133: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:145: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:161: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:174: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:194: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:207: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:219: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:235: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:247: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:259: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:280: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:315: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:332: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:361: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:381: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:390: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:406: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:424: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:435: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:450: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:466: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:484: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:549: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:567: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:606: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:655: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:692: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:702: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:724: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:746: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:768: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:784: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:800: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:814: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:836: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:853: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:869: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:885: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:901: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:922: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:933: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:967: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1009: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1051: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1079: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1098: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1116: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1128: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1146: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1181: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1207: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1225: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:697:1240: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:133: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:145: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:161: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:174: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:194: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:207: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:219: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:235: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:247: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:259: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:280: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:315: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:332: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:361: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:381: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:390: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:406: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:424: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:435: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:450: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:466: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:484: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:549: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:567: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:606: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:655: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:692: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:702: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:724: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:746: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:768: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:784: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:800: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:814: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:836: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:853: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:869: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:885: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:901: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:922: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:933: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:967: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1009: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1051: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1079: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1098: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1116: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1128: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1146: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1181: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1207: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1225: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:698:1240: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:657: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:699:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:657: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:700:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:657: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:701:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:657: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:702:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:657: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:703:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:134: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:146: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:162: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:175: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:195: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:208: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:220: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:236: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:248: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:260: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:281: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:317: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:334: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:363: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:383: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:392: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:408: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:426: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:437: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:452: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:468: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:486: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:551: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:569: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:608: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:657: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:694: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:704: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:726: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:749: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:771: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:787: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:803: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:817: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:839: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:856: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:872: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:888: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:904: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:925: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:936: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:970: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1012: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1054: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1082: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1101: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1119: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1131: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1149: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1184: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1210: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1228: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:704:1243: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (0) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 0==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:708:6: error: unknown token in expression mov %ebx, [%rsp] ^ jitc_mmu.S:709:6: error: unknown token in expression add %rsp, 8 ^ jitc_mmu.S:710:6: error: unknown token in expression not %ebx ^ jitc_mmu.S:711:6: error: unknown token in expression and %ebx, [%rdi+pagetable_hashmask] ^ jitc_mmu.S:712:6: error: unknown token in expression shl %ebx, 6 ^ jitc_mmu.S:713:5: error: unknown token in expression or %ebx, [%rdi+pagetable_base] ^ jitc_mmu.S:715:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:136: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:148: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:164: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:177: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:197: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:210: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:222: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:238: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:250: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:262: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:283: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:318: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:335: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:364: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:384: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:393: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:409: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:427: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:438: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:453: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:469: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:487: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:573: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:612: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:661: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:698: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:708: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:730: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:752: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:774: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:790: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:806: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:820: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:842: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:859: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:875: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:891: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:907: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:928: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:939: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:973: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1015: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1057: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1085: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1104: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1122: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1134: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1152: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1187: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1213: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1231: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:715:1246: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 0]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 0]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +0], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:58: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:68: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:84: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:112: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:136: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:148: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:164: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:177: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:197: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:210: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:222: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:238: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:250: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:262: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:283: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:318: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:335: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:364: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:384: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:393: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:409: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:427: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:438: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:453: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:469: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:487: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:573: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:612: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:661: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:698: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:708: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:730: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:752: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:774: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:790: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:806: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:820: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:842: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:859: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:875: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:891: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:907: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:928: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:939: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:973: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1015: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1057: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1085: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1104: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1122: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1134: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1152: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1187: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1213: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1231: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:716:1246: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 8]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 8]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +8], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:663: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:717:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 16]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 16]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +16], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:663: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:718:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 24]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 24]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +24], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:663: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:719:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 32]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 32]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +32], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:663: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:720:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 40]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 40]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +40], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:663: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:721:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 48]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 48]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +48], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:6: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:27: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:59: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:69: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:85: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:113: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:137: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:149: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:165: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:178: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:198: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:211: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:223: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:239: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:251: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:263: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:284: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:320: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:337: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:366: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:386: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:395: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:411: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:429: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:440: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:455: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:471: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:489: error: unexpected token in argument list mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:575: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:614: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:663: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:700: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:710: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:732: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:755: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:777: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:793: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:809: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:823: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:845: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:862: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:878: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:894: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:910: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:931: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:942: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:976: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1018: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1060: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1088: error: expected absolute expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1107: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1125: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1137: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1155: error: invalid operand for instruction mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1190: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1216: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1234: error: unknown use of instruction mnemonic without a size suffix mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:722:1249: error: unknown token in expression mov %rax, [gMemory]; mov %eax, [%rax + %rbx + 56]; bswap %eax; mov %ecx, %eax; and %eax, (1<<6) | (1<<31); cmp %eax, (1<<6) | (1<<31); jne 1f; mov %eax, %ecx; shr %ecx, 7; and %ecx, 0xffffff; cmp %ecx, %r12d; jne 1f; and %eax, 0x3f; cmp %eax, %r8d; jne 1f; mov %rsi, [gMemory]; mov %esi, [%rsi + %rbx + 4 + 56]; bswap %esi; test dword ptr [%rdi+msr], (1<<14); mov %eax, (1<<29); setz %cl; shl %eax, %cl; test %edx, %eax; setnz %al; movzx %eax, %al; mov %ecx, %esi; and %ecx, 3; cmp byte ptr [ppc_pte_protection + (8) + 4*%rax + %rcx], 1; .if 1<<6==0; pop %rdx; .endif; pop %rax; jne protection_fault_8_data; mov %edx, %esi; .if 8==0; or %edx, (1<<8); .else; or %edx, (1<<8) | (1<<7); .endif; bswap %edx; add %rbx, [gMemory]; mov [%rbx+4 +56], %edx; and %esi, 0xfffff000; mov %edx, %eax; mov %ecx, %eax; shr %edx, 12; and %ecx, 0xfffff000; and %edx, 32 -1; mov %ebx, %esi; sub %esi, %ecx; .if data==data; cmp %ebx, [gMemorySize]; ja 4f; add %esi, [gMemory]; 6:; .endif; mov [%rdi+tlb_data_8_eff + %rdx*4], %ecx; mov [%rdi+tlb_data_8_phys + %rdx*4], %esi; add %eax, %esi; clc; ret 8; .if data==data; 4: cmp %ebx, 0x84000000; jmp 5f; cmp %ebx, 0x85000000; ja 5f; call damageframebuffer; add %esi, [gFrameBuffer]; sub %esi, 0x84000000; jmp 6b; 5: add %eax, %esi; stc; ret 8; .endif; 1: ^ jitc_mmu.S:727:6: error: unknown token in expression pop %rax ^ jitc_mmu.S:728:6: error: unknown token in expression pop %rdx # return address is no longer needed ^ jitc_mmu.S:729:6: error: unknown token in expression pop %rbx # bytes to roll back ^ jitc_mmu.S:730:6: error: unknown token in expression add %rsp, %rbx ^ jitc_mmu.S:732:6: error: unknown token in expression mov %ecx, (1<<30)|(1<<25) # PPC_EXC_DSISR_PAGE | PPC_EXC_DSISR_STORE ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:746:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:746:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:748:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:751:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:752:2: error: invalid instruction mnemonic 'jc' jc 1f ^~ jitc_mmu.S:753:7: error: unknown token in expression mov [%rax], %dl ^ jitc_mmu.S:756:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:757:8: error: unknown token in expression movzx %esi, %dl ^ jitc_mmu.S:758:6: error: unknown token in expression mov %edx, 1 ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:772:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:772:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:773:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:774:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:775:6: error: unknown token in expression cmp %ebx, 4095 ^ jitc_mmu.S:776:2: error: invalid operand for instruction jae 1f ^ jitc_mmu.S:778:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:781:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:782:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:783:7: error: unknown token in expression mov [%rax], %dh ^ jitc_mmu.S:784:7: error: unknown token in expression mov [%rax+1], %dl ^ jitc_mmu.S:787:6: error: unknown token in expression rol %dx, 8 ^ jitc_mmu.S:788:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:789:8: error: unknown token in expression movzx %esi, %dx ^ jitc_mmu.S:790:6: error: unknown token in expression mov %edx, 2 ^ jitc_mmu.S:794:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:795:7: error: unknown token in expression push %rax ^ jitc_mmu.S:798:6: error: unknown token in expression mov %edx, [%rsp+8] ^ jitc_mmu.S:799:2: error: invalid instruction mnemonic 'jc' jc 1f ^~ jitc_mmu.S:800:7: error: unknown token in expression mov [%rax], %dh ^ jitc_mmu.S:802:6: error: unknown token in expression pop %rax ^ jitc_mmu.S:803:6: error: unknown token in expression inc %eax ^ jitc_mmu.S:806:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:807:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:808:7: error: unknown token in expression mov [%rax], %dl ^ jitc_mmu.S:812:8: error: unknown token in expression movzx %esi, %dh ^ jitc_mmu.S:813:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:814:6: error: unknown token in expression mov %edx, 1 ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ jitc_mmu.S:816:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:817:2: error: unknown use of instruction mnemonic without a size suffix jmp 3b ^ jitc_mmu.S:819:8: error: unknown token in expression movzx %esi, %dl ^ jitc_mmu.S:820:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:821:6: error: unknown token in expression mov %edx, 1 ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:835:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:835:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:836:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:837:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:838:6: error: unknown token in expression cmp %ebx, 4093 ^ jitc_mmu.S:839:2: error: invalid operand for instruction jae 1f ^ jitc_mmu.S:841:8: error: unknown token in expression bswap %edx ^ jitc_mmu.S:843:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:846:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:847:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:848:7: error: unknown token in expression mov [%rax], %edx ^ jitc_mmu.S:852:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:853:6: error: unknown token in expression mov %esi, %edx ^ jitc_mmu.S:854:6: error: unknown token in expression mov %edx, 4 ^ jitc_mmu.S:858:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:859:7: error: unknown token in expression push %rax ^ jitc_mmu.S:862:6: error: unknown token in expression mov %edx, [%rsp+8] ^ jitc_mmu.S:863:6: error: unknown token in expression mov %ebx, [%rsp] ^ jitc_mmu.S:864:6: error: unknown token in expression mov %ecx, 4096 ^ jitc_mmu.S:865:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:866:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:867:6: error: unknown token in expression sub %ecx, %ebx ^ jitc_mmu.S:869:7: error: unknown token in expression rol %edx, 8 ^ jitc_mmu.S:870:8: error: unknown token in expression mov [%rax], %dl ^ jitc_mmu.S:871:7: error: unknown token in expression inc %rax ^ jitc_mmu.S:872:7: error: unknown token in expression dec %ecx ^ jitc_mmu.S:873:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:875:7: error: unknown token in expression mov [%rsp+8], %edx ^ jitc_mmu.S:876:6: error: unknown token in expression mov %eax, [%rsp] ^ jitc_mmu.S:877:6: error: unknown token in expression add %eax, 4 ^ jitc_mmu.S:880:6: error: unknown token in expression pop %rbx ^ jitc_mmu.S:881:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:882:2: error: invalid instruction mnemonic 'jc' jc 3f ^~ jitc_mmu.S:883:6: error: unknown token in expression add %ebx, 4 ^ jitc_mmu.S:884:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:885:6: error: unknown token in expression sub %rax, %rbx ^ jitc_mmu.S:887:7: error: unknown token in expression rol %edx, 8 ^ jitc_mmu.S:888:8: error: unknown token in expression mov [%rax], %dl ^ jitc_mmu.S:889:7: error: unknown token in expression inc %rax ^ jitc_mmu.S:890:7: error: unknown token in expression dec %ebx ^ jitc_mmu.S:891:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:895:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:896:6: error: unknown token in expression sub %ecx, %ebx ^ jitc_mmu.S:898:7: error: unknown token in expression rol %edx, 8 ^ jitc_mmu.S:899:8: error: unknown token in expression push %rax ^ jitc_mmu.S:900:8: error: unknown token in expression push %rcx ^ jitc_mmu.S:901:8: error: unknown token in expression push %rdx ^ jitc_mmu.S:902:9: error: unknown token in expression movzx %esi, %dl ^ jitc_mmu.S:903:7: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:904:7: error: unknown token in expression mov %edx, 1 ^ jitc_mmu.S:906:7: error: unknown token in expression pop %rdx ^ jitc_mmu.S:907:7: error: unknown token in expression pop %rcx ^ jitc_mmu.S:908:7: error: unknown token in expression pop %rax ^ jitc_mmu.S:909:7: error: unknown token in expression inc %eax ^ jitc_mmu.S:910:7: error: unknown token in expression dec %ecx ^ jitc_mmu.S:911:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:912:2: error: unknown use of instruction mnemonic without a size suffix jmp 4b ^ jitc_mmu.S:914:6: error: unknown token in expression add %ebx, 4 ^ jitc_mmu.S:915:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:916:6: error: unknown token in expression sub %eax, %ebx ^ jitc_mmu.S:918:7: error: unknown token in expression rol %edx, 8 ^ jitc_mmu.S:919:8: error: unknown token in expression push %rax ^ jitc_mmu.S:920:8: error: unknown token in expression push %rdx ^ jitc_mmu.S:921:7: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:922:9: error: unknown token in expression movzx %esi, %dl ^ jitc_mmu.S:923:7: error: unknown token in expression mov %edx, 1 ^ jitc_mmu.S:925:7: error: unknown token in expression pop %rdx ^ jitc_mmu.S:926:7: error: unknown token in expression pop %rax ^ jitc_mmu.S:927:7: error: unknown token in expression inc %rax ^ jitc_mmu.S:928:7: error: unknown token in expression dec %rbx ^ jitc_mmu.S:929:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:942:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:942:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:943:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:944:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:945:6: error: unknown token in expression cmp %ebx, 4089 ^ jitc_mmu.S:946:2: error: invalid operand for instruction jae 1f # overlap ^ jitc_mmu.S:948:8: error: unknown token in expression bswap %rdx ^ jitc_mmu.S:950:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:953:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:954:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:955:7: error: unknown token in expression mov [%rax], %rdx ^ jitc_mmu.S:958:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:959:6: error: unknown token in expression mov %rsi, %rdx ^ jitc_mmu.S:963:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:964:7: error: unknown token in expression push %rax ^ jitc_mmu.S:967:6: error: unknown token in expression mov %rdx, [%rsp+8] ^ jitc_mmu.S:968:6: error: unknown token in expression mov %ebx, [%rsp] ^ jitc_mmu.S:969:6: error: unknown token in expression mov %ecx, 4096 ^ jitc_mmu.S:970:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:971:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:972:6: error: unknown token in expression sub %ecx, %ebx ^ jitc_mmu.S:974:7: error: unknown token in expression rol %rdx, 8 ^ jitc_mmu.S:975:8: error: unknown token in expression mov [%rax], %dl ^ jitc_mmu.S:976:7: error: unknown token in expression inc %rax ^ jitc_mmu.S:977:7: error: unknown token in expression dec %ecx ^ jitc_mmu.S:978:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:980:7: error: unknown token in expression mov [%rsp+8], %rdx ^ jitc_mmu.S:981:6: error: unknown token in expression mov %eax, [%rsp] ^ jitc_mmu.S:982:6: error: unknown token in expression add %eax, 8 ^ jitc_mmu.S:985:6: error: unknown token in expression pop %rbx ^ jitc_mmu.S:986:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:987:2: error: invalid instruction mnemonic 'jc' jc 3f ^~ jitc_mmu.S:988:6: error: unknown token in expression add %ebx, 8 ^ jitc_mmu.S:989:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:990:6: error: unknown token in expression sub %rax, %rbx ^ jitc_mmu.S:992:7: error: unknown token in expression rol %rdx, 8 ^ jitc_mmu.S:993:8: error: unknown token in expression mov [%rax], %dl ^ jitc_mmu.S:994:7: error: unknown token in expression inc %rax ^ jitc_mmu.S:995:7: error: unknown token in expression dec %ebx ^ jitc_mmu.S:996:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:1000:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:1001:6: error: unknown token in expression sub %ecx, %ebx ^ jitc_mmu.S:1003:7: error: unknown token in expression rol %rdx, 8 ^ jitc_mmu.S:1004:8: error: unknown token in expression push %rax ^ jitc_mmu.S:1005:8: error: unknown token in expression push %rcx ^ jitc_mmu.S:1006:8: error: unknown token in expression push %rdx ^ jitc_mmu.S:1007:9: error: unknown token in expression movzx %esi, %dl ^ jitc_mmu.S:1008:7: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1009:7: error: unknown token in expression mov %edx, 1 ^ jitc_mmu.S:1011:7: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1012:7: error: unknown token in expression pop %rcx ^ jitc_mmu.S:1013:7: error: unknown token in expression pop %rax ^ jitc_mmu.S:1014:7: error: unknown token in expression inc %eax ^ jitc_mmu.S:1015:7: error: unknown token in expression dec %ecx ^ jitc_mmu.S:1016:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:1017:2: error: unknown use of instruction mnemonic without a size suffix jmp 4b ^ jitc_mmu.S:1019:6: error: unknown token in expression add %ebx, 4 ^ jitc_mmu.S:1020:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:1021:6: error: unknown token in expression sub %eax, %ebx ^ jitc_mmu.S:1023:7: error: unknown token in expression rol %rdx, 8 ^ jitc_mmu.S:1024:8: error: unknown token in expression push %rax ^ jitc_mmu.S:1025:8: error: unknown token in expression push %rdx ^ jitc_mmu.S:1026:7: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1027:9: error: unknown token in expression movzx %esi, %dl ^ jitc_mmu.S:1028:7: error: unknown token in expression mov %edx, 1 ^ jitc_mmu.S:1030:7: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1031:7: error: unknown token in expression pop %rax ^ jitc_mmu.S:1032:7: error: unknown token in expression inc %rax ^ jitc_mmu.S:1033:7: error: unknown token in expression dec %rbx ^ jitc_mmu.S:1034:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1048:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1048:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1049:6: error: unknown token in expression and %eax, 0xfffffff0 ^ jitc_mmu.S:1050:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:1054:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1055:2: error: invalid instruction mnemonic 'jc' jc 1f ^~ jitc_mmu.S:1057:6: error: unknown token in expression mov %rbx, [%rdx] ^ jitc_mmu.S:1058:6: error: unknown token in expression mov %rsi, [%rdx+8] ^ jitc_mmu.S:1060:8: error: unknown token in expression bswap %rbx ^ jitc_mmu.S:1061:8: error: unknown token in expression bswap %rsi ^ jitc_mmu.S:1063:7: error: unknown token in expression mov [%rax+8], %rbx ^ jitc_mmu.S:1064:7: error: unknown token in expression mov [%rax], %rsi ^ jitc_mmu.S:1067:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1068:6: error: unknown token in expression mov %rsi, %rdx ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1072:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1072:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1073:6: error: unknown token in expression and %eax, 0xfffffff0 ^ jitc_mmu.S:1074:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:1078:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1079:2: error: invalid instruction mnemonic 'jc' jc 1f ^~ jitc_mmu.S:1081:10: error: unknown token in expression movaps [%rax], %xmm0 ^ jitc_mmu.S:1084:10: error: unknown token in expression movaps [%rdx], %xmm0 ^ jitc_mmu.S:1085:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1086:6: error: unknown token in expression mov %rsi, %rdx ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1101:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1101:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1105:2: error: invalid instruction mnemonic 'jc' jc 1f ^~ jitc_mmu.S:1106:8: error: unknown token in expression movzx %edx, byte ptr [%rax] ^ jitc_mmu.S:1109:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1110:6: error: unknown token in expression mov %esi, 1 ^ jitc_mmu.S:1112:8: error: unknown token in expression movzx %edx, %al ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1127:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1127:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1128:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:1129:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:1130:6: error: unknown token in expression cmp %ebx, 4095 ^ jitc_mmu.S:1131:2: error: invalid operand for instruction jae 1f ^ jitc_mmu.S:1135:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:1136:8: error: unknown token in expression movzx %edx, word ptr [%rax] ^ jitc_mmu.S:1137:6: error: unknown token in expression rol %dx, 8 ^ jitc_mmu.S:1140:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1141:6: error: unknown token in expression mov %esi, 2 ^ jitc_mmu.S:1143:6: error: unknown token in expression rol %ax, 8 ^ jitc_mmu.S:1144:8: error: unknown token in expression movzx %edx, %ax ^ jitc_mmu.S:1148:7: error: unknown token in expression push %rax ^ jitc_mmu.S:1151:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:1152:6: error: unknown token in expression xor %edx, %edx ^ jitc_mmu.S:1153:6: error: unknown token in expression mov %dh, [%rax] ^ jitc_mmu.S:1155:6: error: unknown token in expression mov %eax, [%rsp] ^ jitc_mmu.S:1156:7: error: unknown token in expression mov [%rsp], %edx ^ jitc_mmu.S:1157:6: error: unknown token in expression inc %eax ^ jitc_mmu.S:1160:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1161:2: error: invalid instruction mnemonic 'jc' jc 3f ^~ jitc_mmu.S:1162:6: error: unknown token in expression mov %dl, [%rax] ^ jitc_mmu.S:1166:7: error: unknown token in expression push %rdi ^ jitc_mmu.S:1167:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1168:6: error: unknown token in expression mov %esi, 1 ^ jitc_mmu.S:1170:6: error: unknown token in expression xor %edx, %edx ^ jitc_mmu.S:1171:6: error: unknown token in expression mov %dh, %al ^ jitc_mmu.S:1172:6: error: unknown token in expression pop %rdi ^ jitc_mmu.S:1173:2: error: unknown use of instruction mnemonic without a size suffix jmp 1b ^ jitc_mmu.S:1175:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:1176:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1177:6: error: unknown token in expression mov %esi, 1 ^ jitc_mmu.S:1179:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1180:6: error: unknown token in expression mov %dl, %al ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1195:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1195:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1196:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:1197:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:1198:6: error: unknown token in expression cmp %ebx, 4095 ^ jitc_mmu.S:1199:2: error: invalid operand for instruction jae 1f ^ jitc_mmu.S:1203:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:1204:6: error: unknown token in expression mov %cx, [%rax] ^ jitc_mmu.S:1205:6: error: unknown token in expression rol %cx, 8 ^ jitc_mmu.S:1206:8: error: unknown token in expression movsx %edx, %cx ^ jitc_mmu.S:1209:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1210:6: error: unknown token in expression mov %esi, 2 ^ jitc_mmu.S:1212:6: error: unknown token in expression rol %ax, 8 ^ jitc_mmu.S:1213:8: error: unknown token in expression movsx %edx, %ax ^ jitc_mmu.S:1217:7: error: unknown token in expression push %rax ^ jitc_mmu.S:1220:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:1221:6: error: unknown token in expression xor %ecx, %ecx ^ jitc_mmu.S:1222:6: error: unknown token in expression mov %ch, [%rax] ^ jitc_mmu.S:1224:6: error: unknown token in expression mov %eax, [%rsp] ^ jitc_mmu.S:1225:7: error: unknown token in expression mov [%rsp], %ecx ^ jitc_mmu.S:1226:6: error: unknown token in expression inc %eax ^ jitc_mmu.S:1229:6: error: unknown token in expression pop %rcx ^ jitc_mmu.S:1230:2: error: invalid instruction mnemonic 'jc' jc 3f ^~ jitc_mmu.S:1231:6: error: unknown token in expression mov %cl, [%rax] ^ jitc_mmu.S:1232:8: error: unknown token in expression movsx %edx, %cx ^ jitc_mmu.S:1236:7: error: unknown token in expression push %rdi ^ jitc_mmu.S:1237:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1238:6: error: unknown token in expression mov %esi, 1 ^ jitc_mmu.S:1240:6: error: unknown token in expression xor %ecx, %ecx ^ jitc_mmu.S:1241:6: error: unknown token in expression mov %ch, %al ^ jitc_mmu.S:1242:6: error: unknown token in expression pop %rdi ^ jitc_mmu.S:1243:2: error: unknown use of instruction mnemonic without a size suffix jmp 1b ^ jitc_mmu.S:1245:7: error: unknown token in expression push %rcx ^ jitc_mmu.S:1246:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1247:6: error: unknown token in expression mov %esi, 1 ^ jitc_mmu.S:1249:6: error: unknown token in expression pop %rcx ^ jitc_mmu.S:1250:6: error: unknown token in expression mov %cl, %al ^ jitc_mmu.S:1251:8: error: unknown token in expression movsx %edx, %cx ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1266:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1266:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1267:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:1268:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:1269:6: error: unknown token in expression cmp %ebx, 4093 ^ jitc_mmu.S:1270:2: error: invalid operand for instruction jae 1f ^ jitc_mmu.S:1274:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:1275:6: error: unknown token in expression mov %edx, [%rax] ^ jitc_mmu.S:1276:8: error: unknown token in expression bswap %edx ^ jitc_mmu.S:1279:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1280:6: error: unknown token in expression mov %esi, 4 ^ jitc_mmu.S:1282:6: error: unknown token in expression mov %edx, %eax ^ jitc_mmu.S:1283:8: error: unknown token in expression bswap %edx ^ jitc_mmu.S:1286:7: error: unknown token in expression push %rax ^ jitc_mmu.S:1287:7: error: unknown token in expression push %rbx ^ jitc_mmu.S:1290:6: error: unknown token in expression pop %rbx ^ jitc_mmu.S:1291:6: error: unknown token in expression mov %ecx, 4096 ^ jitc_mmu.S:1292:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:1293:6: error: unknown token in expression sub %ecx, %ebx ^ jitc_mmu.S:1295:7: error: unknown token in expression shl %edx, 8 ^ jitc_mmu.S:1296:7: error: unknown token in expression mov %dl, [%rax] ^ jitc_mmu.S:1297:7: error: unknown token in expression inc %rax ^ jitc_mmu.S:1298:7: error: unknown token in expression dec %ecx ^ jitc_mmu.S:1299:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:1301:6: error: unknown token in expression mov %eax, [%rsp] ^ jitc_mmu.S:1302:7: error: unknown token in expression mov [%rsp], %edx ^ jitc_mmu.S:1303:6: error: unknown token in expression add %eax, 4 ^ jitc_mmu.S:1304:7: error: unknown token in expression push %rbx ^ jitc_mmu.S:1305:6: error: unknown token in expression and %eax, 0xfffff000 ^ jitc_mmu.S:1308:6: error: unknown token in expression pop %rbx ^ jitc_mmu.S:1309:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1310:2: error: invalid instruction mnemonic 'jc' jc 3f ^~ jitc_mmu.S:1311:6: error: unknown token in expression sub %ebx, 4092 ^ jitc_mmu.S:1313:7: error: unknown token in expression shl %edx, 8 ^ jitc_mmu.S:1314:7: error: unknown token in expression mov %dl, [%rax] ^ jitc_mmu.S:1315:7: error: unknown token in expression inc %rax ^ jitc_mmu.S:1316:7: error: unknown token in expression dec %ebx ^ jitc_mmu.S:1317:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:1321:6: error: unknown token in expression sub %ecx, %ebx ^ jitc_mmu.S:1322:7: error: unknown token in expression push %rdi ^ jitc_mmu.S:1324:7: error: unknown token in expression shl %edx, 8 ^ jitc_mmu.S:1325:8: error: unknown token in expression push %rcx ^ jitc_mmu.S:1326:8: error: unknown token in expression push %rax ^ jitc_mmu.S:1327:8: error: unknown token in expression push %rdx ^ jitc_mmu.S:1328:7: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1329:7: error: unknown token in expression mov %esi, 1 ^ jitc_mmu.S:1331:7: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1332:7: error: unknown token in expression mov %dl, %al ^ jitc_mmu.S:1333:7: error: unknown token in expression pop %rax ^ jitc_mmu.S:1334:7: error: unknown token in expression pop %rcx ^ jitc_mmu.S:1335:7: error: unknown token in expression inc %eax ^ jitc_mmu.S:1336:7: error: unknown token in expression dec %ecx ^ jitc_mmu.S:1337:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:1338:6: error: unknown token in expression pop %rdi ^ jitc_mmu.S:1339:2: error: unknown use of instruction mnemonic without a size suffix jmp 4b ^ jitc_mmu.S:1341:6: error: unknown token in expression sub %ebx, 4092 ^ jitc_mmu.S:1343:7: error: unknown token in expression shl %edx, 8 ^ jitc_mmu.S:1344:8: error: unknown token in expression push %rax ^ jitc_mmu.S:1345:8: error: unknown token in expression push %rdx ^ jitc_mmu.S:1346:7: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1347:7: error: unknown token in expression mov %esi, 1 ^ jitc_mmu.S:1349:7: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1350:7: error: unknown token in expression mov %dl, %al ^ jitc_mmu.S:1351:7: error: unknown token in expression pop %rax ^ jitc_mmu.S:1352:7: error: unknown token in expression inc %eax ^ jitc_mmu.S:1353:7: error: unknown token in expression dec %ebx ^ jitc_mmu.S:1354:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1368:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1368:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1369:6: error: unknown token in expression mov %ebx, %eax ^ jitc_mmu.S:1370:6: error: unknown token in expression and %ebx, 0xfff ^ jitc_mmu.S:1371:6: error: unknown token in expression cmp %ebx, 4089 ^ jitc_mmu.S:1372:2: error: invalid operand for instruction jae 1f ^ jitc_mmu.S:1376:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:1377:6: error: unknown token in expression mov %rdx, [%rax] ^ jitc_mmu.S:1378:8: error: unknown token in expression bswap %rdx ^ jitc_mmu.S:1381:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1383:6: error: unknown token in expression mov %rdx, %rax ^ jitc_mmu.S:1384:8: error: unknown token in expression bswap %rdx ^ jitc_mmu.S:1388:7: error: unknown token in expression push %rax ^ jitc_mmu.S:1389:7: error: unknown token in expression push %rbx ^ jitc_mmu.S:1392:6: error: unknown token in expression pop %rbx ^ jitc_mmu.S:1393:6: error: unknown token in expression mov %r12d, 4096 ^ jitc_mmu.S:1394:2: error: invalid instruction mnemonic 'jc' jc 2f ^~ jitc_mmu.S:1395:6: error: unknown token in expression sub %r12d, %ebx ^ jitc_mmu.S:1397:7: error: unknown token in expression shl %rdx, 8 ^ jitc_mmu.S:1398:7: error: unknown token in expression mov %dl, [%rax] ^ jitc_mmu.S:1399:7: error: unknown token in expression inc %rax ^ jitc_mmu.S:1400:7: error: unknown token in expression dec %r12d ^ jitc_mmu.S:1401:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:1403:6: error: unknown token in expression pop %rax ^ jitc_mmu.S:1404:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:1405:6: error: unknown token in expression add %eax, 8 ^ jitc_mmu.S:1406:7: error: unknown token in expression push %rbx ^ jitc_mmu.S:1407:6: error: unknown token in expression and %eax, 0xfffff000 ^ jitc_mmu.S:1410:6: error: unknown token in expression pop %rbx ^ jitc_mmu.S:1411:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1412:2: error: invalid instruction mnemonic 'jc' jc 3f ^~ jitc_mmu.S:1413:6: error: unknown token in expression sub %ebx, 4088 ^ jitc_mmu.S:1415:7: error: unknown token in expression shl %rdx, 8 ^ jitc_mmu.S:1416:7: error: unknown token in expression mov %dl, [%rax] ^ jitc_mmu.S:1417:7: error: unknown token in expression inc %rax ^ jitc_mmu.S:1418:7: error: unknown token in expression dec %ebx ^ jitc_mmu.S:1419:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:1423:6: error: unknown token in expression sub %r12d, %ebx ^ jitc_mmu.S:1424:7: error: unknown token in expression push %rdi ^ jitc_mmu.S:1426:7: error: unknown token in expression shl %rdx, 8 ^ jitc_mmu.S:1427:8: error: unknown token in expression push %rax ^ jitc_mmu.S:1428:8: error: unknown token in expression push %rdx ^ jitc_mmu.S:1429:7: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1430:7: error: unknown token in expression mov %esi, 1 ^ jitc_mmu.S:1432:7: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1433:7: error: unknown token in expression mov %dl, %al ^ jitc_mmu.S:1434:7: error: unknown token in expression pop %rax ^ jitc_mmu.S:1435:7: error: unknown token in expression inc %eax ^ jitc_mmu.S:1436:7: error: unknown token in expression dec %r12d ^ jitc_mmu.S:1437:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:1438:6: error: unknown token in expression pop %rdi ^ jitc_mmu.S:1439:2: error: unknown use of instruction mnemonic without a size suffix jmp 4b ^ jitc_mmu.S:1441:6: error: unknown token in expression sub %ebx, 4088 ^ jitc_mmu.S:1443:7: error: unknown token in expression shl %rdx, 8 ^ jitc_mmu.S:1444:8: error: unknown token in expression push %rax ^ jitc_mmu.S:1445:8: error: unknown token in expression push %rdx ^ jitc_mmu.S:1446:7: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1447:7: error: unknown token in expression mov %esi, 1 ^ jitc_mmu.S:1449:7: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1450:7: error: unknown token in expression mov %dl, %al ^ jitc_mmu.S:1451:7: error: unknown token in expression pop %rax ^ jitc_mmu.S:1452:7: error: unknown token in expression inc %eax ^ jitc_mmu.S:1453:7: error: unknown token in expression dec %ebx ^ jitc_mmu.S:1454:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1468:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1468:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1469:6: error: unknown token in expression and %eax, 0xfffffff0 ^ jitc_mmu.S:1470:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:1474:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1475:2: error: invalid instruction mnemonic 'jc' jc 1f ^~ jitc_mmu.S:1477:6: error: unknown token in expression mov %rbx, [%rax] ^ jitc_mmu.S:1478:6: error: unknown token in expression mov %rsi, [%rax+8] ^ jitc_mmu.S:1480:8: error: unknown token in expression bswap %rbx ^ jitc_mmu.S:1481:8: error: unknown token in expression bswap %rsi ^ jitc_mmu.S:1483:7: error: unknown token in expression mov [%rdx+8], %rbx ^ jitc_mmu.S:1484:7: error: unknown token in expression mov [%rdx], %rsi ^ jitc_mmu.S:1487:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1488:6: error: unknown token in expression mov %rsi, %rdx ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1492:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1492:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1493:6: error: unknown token in expression and %eax, 0xfffffff0 ^ jitc_mmu.S:1494:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:1498:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1499:2: error: invalid instruction mnemonic 'jc' jc 1f ^~ jitc_mmu.S:1501:9: error: unknown token in expression movaps %xmm0, [%rax] ^ jitc_mmu.S:1503:6: error: unknown token in expression mov %rbx, [%rax] ^ jitc_mmu.S:1504:6: error: unknown token in expression mov %rsi, [%rax+8] ^ jitc_mmu.S:1506:8: error: unknown token in expression bswap %rbx ^ jitc_mmu.S:1507:8: error: unknown token in expression bswap %rsi ^ jitc_mmu.S:1509:7: error: unknown token in expression mov [%rdx+8], %rbx ^ jitc_mmu.S:1510:7: error: unknown token in expression mov [%rdx], %rsi ^ jitc_mmu.S:1514:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:1515:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1516:6: error: unknown token in expression mov %rsi, %rdx ^ jitc_mmu.S:1518:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1520:9: error: unknown token in expression movaps %xmm0, [%rdx] ^ jitc_mmu.S:1522:6: error: unknown token in expression mov %rax, [%rdx] ^ jitc_mmu.S:1523:6: error: unknown token in expression mov %rsi, [%rdx+8] ^ jitc_mmu.S:1525:8: error: unknown token in expression bswap %rax ^ jitc_mmu.S:1526:8: error: unknown token in expression bswap %rsi ^ jitc_mmu.S:1528:7: error: unknown token in expression mov [%rdx+8], %rsi ^ jitc_mmu.S:1529:7: error: unknown token in expression mov [%rdx], %rax ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1544:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1544:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1545:6: error: unknown token in expression mov %r8d, 1 ^ jitc_mmu.S:1548:7: error: unknown token in expression dec %r8d ^ jitc_mmu.S:1549:3: error: invalid instruction mnemonic 'jnz' jnz 2f ^~~ jitc_mmu.S:1550:8: error: unknown token in expression mov %edx, [%rdi+gpr+4*%rbx] ^ jitc_mmu.S:1551:8: error: unknown token in expression inc %ebx ^ jitc_mmu.S:1552:8: error: unknown token in expression mov %r8d, 4 ^ jitc_mmu.S:1553:8: error: unknown token in expression and %ebx, 0x1f ^ jitc_mmu.S:1555:8: error: unknown token in expression push %rax ^ jitc_mmu.S:1556:8: error: unknown token in expression push %rcx ^ jitc_mmu.S:1557:8: error: unknown token in expression push %rbx ^ jitc_mmu.S:1558:8: error: unknown token in expression push %r8 ^ jitc_mmu.S:1559:8: error: unknown token in expression push %rdi ^ jitc_mmu.S:1560:8: error: unknown token in expression push %rdx ^ jitc_mmu.S:1563:7: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1564:7: error: unknown token in expression mov %ecx, %edx ^ jitc_mmu.S:1565:3: error: invalid instruction mnemonic 'jc' jc 3f ^~ jitc_mmu.S:1566:7: error: unknown token in expression shr %ecx, 24 ^ jitc_mmu.S:1567:8: error: unknown token in expression mov [%rax], %cl ^ jitc_mmu.S:1569:7: error: unknown token in expression pop %rdi ^ jitc_mmu.S:1570:7: error: unknown token in expression pop %r8 ^ jitc_mmu.S:1571:7: error: unknown token in expression pop %rbx ^ jitc_mmu.S:1572:7: error: unknown token in expression pop %rcx ^ jitc_mmu.S:1573:7: error: unknown token in expression pop %rax ^ jitc_mmu.S:1574:7: error: unknown token in expression shl %edx, 8 ^ jitc_mmu.S:1575:7: error: unknown token in expression inc %eax ^ jitc_mmu.S:1576:7: error: unknown token in expression dec %ecx ^ jitc_mmu.S:1577:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:1581:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:1582:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1583:6: error: unknown token in expression shr %edx, 24 ^ jitc_mmu.S:1584:6: error: unknown token in expression mov %esi, %edx ^ jitc_mmu.S:1585:6: error: unknown token in expression mov %edx, 1 ^ jitc_mmu.S:1587:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1588:2: error: unknown use of instruction mnemonic without a size suffix jmp 4b ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1601:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1601:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1602:6: error: unknown token in expression mov %r8d, 4 ^ jitc_mmu.S:1604:6: error: unknown token in expression or %r8d, %r8d ^ jitc_mmu.S:1605:3: error: invalid instruction mnemonic 'jnz' jnz 2f ^~~ jitc_mmu.S:1606:9: error: unknown token in expression mov [%rdi+gpr+4*%rbx], %edx ^ jitc_mmu.S:1607:8: error: unknown token in expression inc %ebx ^ jitc_mmu.S:1608:8: error: unknown token in expression mov %r8d, 4 ^ jitc_mmu.S:1609:8: error: unknown token in expression and %ebx, 0x1f ^ jitc_mmu.S:1610:8: error: unknown token in expression xor %edx, %edx ^ jitc_mmu.S:1613:8: error: unknown token in expression push %rax ^ jitc_mmu.S:1614:8: error: unknown token in expression push %rcx ^ jitc_mmu.S:1615:8: error: unknown token in expression push %rbx ^ jitc_mmu.S:1616:8: error: unknown token in expression push %rdi ^ jitc_mmu.S:1617:8: error: unknown token in expression push %r8 ^ jitc_mmu.S:1618:8: error: unknown token in expression push %rdx ^ jitc_mmu.S:1621:7: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1622:3: error: invalid instruction mnemonic 'jc' jc 3f ^~ jitc_mmu.S:1623:7: error: unknown token in expression shl %edx, 8 ^ jitc_mmu.S:1624:7: error: unknown token in expression mov %dl, byte ptr [%rax] ^ jitc_mmu.S:1626:7: error: unknown token in expression pop %r8 ^ jitc_mmu.S:1627:7: error: unknown token in expression pop %rdi ^ jitc_mmu.S:1628:7: error: unknown token in expression pop %rbx ^ jitc_mmu.S:1629:7: error: unknown token in expression pop %rcx ^ jitc_mmu.S:1630:7: error: unknown token in expression pop %rax ^ jitc_mmu.S:1632:7: error: unknown token in expression dec %r8d ^ jitc_mmu.S:1633:7: error: unknown token in expression inc %eax ^ jitc_mmu.S:1634:7: error: unknown token in expression dec %ecx ^ jitc_mmu.S:1635:2: error: invalid instruction mnemonic 'jnz' jnz 1b ^~~ jitc_mmu.S:1637:5: error: unknown token in expression or %r8d, %r8d ^ jitc_mmu.S:1638:2: error: invalid instruction mnemonic 'jz' jz 5f ^~ jitc_mmu.S:1640:8: error: unknown token in expression shl %edx, 8 ^ jitc_mmu.S:1641:8: error: unknown token in expression dec %r8d ^ jitc_mmu.S:1642:3: error: invalid instruction mnemonic 'jnz' jnz 2b ^~~ jitc_mmu.S:1645:7: error: unknown token in expression mov [%rdi+gpr+4*%rbx], %edx ^ jitc_mmu.S:1649:7: error: unknown token in expression push %rdx ^ jitc_mmu.S:1650:6: error: unknown token in expression mov %edi, %eax ^ jitc_mmu.S:1651:6: error: unknown token in expression mov %esi, 1 ^ jitc_mmu.S:1653:6: error: unknown token in expression pop %rdx ^ jitc_mmu.S:1654:6: error: unknown token in expression shl %edx, 8 ^ jitc_mmu.S:1655:6: error: unknown token in expression mov %dl, %al ^ jitc_mmu.S:1656:2: error: unknown use of instruction mnemonic without a size suffix jmp 4b ^ :1:5: error: unknown token in expression lea %rdi, [%rsp+(8 +8*1)] ^ :5:2: note: while in macro instantiation getCurCPU 1 ^ jitc_mmu.S:1664:2: note: while in macro instantiation mmu_prologue ^ :6:7: error: unknown token in expression mov [%rdi+pc_ofs], %esi ^ jitc_mmu.S:1664:2: note: while in macro instantiation mmu_prologue ^ jitc_mmu.S:1666:6: error: unknown token in expression add %eax, 1 # FIXME: WTF??? ^ jitc_mmu.S:1668:2: error: invalid instruction mnemonic 'jc' jc 1f ^~ jitc_mmu.S:1669:6: error: unknown token in expression sub %eax, [gMemory] ^ jitc_mmu.S:1672:6: error: unknown token in expression mov %rdi, [%rdi+jitc] ^ jitc_mmu.S:1673:6: error: unknown token in expression mov %rcx, [%rdi+clientPages] ^ jitc_mmu.S:1674:6: error: unknown token in expression shr %eax, 12 ^ jitc_mmu.S:1675:12: error: unexpected token in argument list cmp qword ptr [%rcx+%rax*8], 0 ^ jitc_mmu.S:1676:2: error: invalid instruction mnemonic 'jnz' jnz 2f ^~~ jitc_mmu.S:1681:6: error: unknown token in expression mov %rsi, [%rcx+%rax*8] ^ make[5]: *** [jitc_mmu.o] Error 1 make[5]: Leaving directory `/«PKGBUILDDIR»/src/cpu/cpu_jitc_x86_64' make[4]: *** [all-recursive] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all] Error 2 dh_auto_build: make -j1 returned exit code 2 make[4]: Leaving directory `/«PKGBUILDDIR»/src/cpu' make[3]: Leaving directory `/«PKGBUILDDIR»/src' make[2]: Leaving directory `/«PKGBUILDDIR»' make[1]: Leaving directory `/«PKGBUILDDIR»' make: *** [build-arch] Error 2 dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2 ──────────────────────────────────────────────────────────────────────────────── Build finished at 20120623-1636 Finished ──────── E: Build failure (dpkg-buildpackage died) ┌──────────────────────────────────────────────────────────────────────────────┐ │ Cleanup │ └──────────────────────────────────────────────────────────────────────────────┘ Purging /«BUILDDIR» Not cleaning session: cloned chroot in use ┌──────────────────────────────────────────────────────────────────────────────┐ │ Summary │ └──────────────────────────────────────────────────────────────────────────────┘ Architecture: amd64 Build-Space: 8752 Build-Time: 92 Distribution: unstable Fail-Stage: build Install-Time: 14 Job: pearpc_0.5.dfsg-2 Package: pearpc Package-Time: 133 Source-Version: 0.5.dfsg-2 Space: 8752 Status: attempted Version: 0.5.dfsg-2 ──────────────────────────────────────────────────────────────────────────────── Finished at 20120623-1636 Build needed 00:02:13, 8752k disc space DC-Status: Failed 133.723855s