2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; $Id$
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync;; @file
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; Disassembly testcase - Valid lock sequences and related instructions.
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync;
8fa1e8a8a8702ee38195fbe7ad5959bf971eb93bvboxsync; This is a build test, that means it will be assembled, disassembled,
8fa1e8a8a8702ee38195fbe7ad5959bf971eb93bvboxsync; then the disassembly output will be assembled and the new binary will
8fa1e8a8a8702ee38195fbe7ad5959bf971eb93bvboxsync; compared with the original.
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync;
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsync; Copyright (C) 2008-2010 Oracle Corporation
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; This file is part of VirtualBox Open Source Edition (OSE), as
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; available from http://www.virtualbox.org. This file is free software;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; you can redistribute it and/or modify it under the terms of the GNU
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; General Public License (GPL) as published by the Free Software
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; Foundation, in version 2 as it comes in the "COPYING" file of the
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync%include "tstAsm.mac"
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%if TEST_BITS == 64
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync; The disassembler doesn't do imm32 right for 64-bit stuff, so disable it for now.
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync; %define WITH_64_BIT_TESTS_IMM32
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync; The cmpxchg16b/8b stuff isn't handled correctly in 64-bit mode. In the 8b case
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync; it could be both yasm and the vbox disassembler. Have to check docs/gas/nasm.
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync; %define WITH_64_BIT_TESTS_CMPXCHG16B
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync; Seems there are some issues with the byte, word and dword variants of r8-15.
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync; Again, this could be yasm issues too...
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync; %define WITH_64_BIT_TESTS_BORKED_REGS
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync %define WITH_64_BIT_TESTS
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%endif
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync
8fa1e8a8a8702ee38195fbe7ad5959bf971eb93bvboxsync BITS TEST_BITS
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; ADC
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ;
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync ; 80 /2 ib ADC reg/mem8, imm8 - sans reg dst
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc byte [1000h], byte 8
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc byte [xBX], byte 8
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc byte [xDI], byte 8
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync ; 81 /2 i[wd] ADC reg/memX, immX - sans reg dst
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc word [1000h], word 090cch
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc word [xBX], word 090cch
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc word [xDI], word 090cch
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc dword [1000h], dword 0cc90cc90h
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc dword [xBX], dword 0cc90cc90h
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc dword [xDI], dword 0cc90cc90h
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%ifdef WITH_64_BIT_TESTS_IMM32
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [1000h], dword 0cc90cc90h
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [rbx], dword 0cc90cc90h
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [rdi], dword 0cc90cc90h
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [r9], dword 0cc90cc90h
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync%endif
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync ; 83 /2 ib ADC reg/memX, imm8 - sans reg dst
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc word [1000h], byte 07fh
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc word [xBX], byte 07fh
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc word [xDI], byte 07fh
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc dword [1000h], byte 07fh
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc dword [xBX], byte 07fh
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc dword [xDI], byte 07fh
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync%ifdef WITH_64_BIT_TESTS
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [1000h], byte 07fh
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [rbx], byte 07fh
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [rdi], byte 07fh
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [r10], byte 07fh
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync%endif
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync ; 10 /r ADC reg/mem8, reg8 - sans reg dst
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc byte [1000h], bl
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc byte [xBX], bl
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc byte [xSI], bl
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync ; 11 /r ADC reg/memX, regX - sans reg dst
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc word [1000h], bx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc word [xBX], bx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc word [xSI], bx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc dword [1000h], ebx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc dword [xBX], ebx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc dword [xSI], ebx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync%ifdef WITH_64_BIT_TESTS
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [1000h], rbx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [rbx], rbx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [rsi], rbx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync lock adc qword [r11], rbx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync%endif
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; ADD
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ;
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ; 80 /0 ib ADD reg/mem8, imm8 - sans reg dst
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add byte [1000h], byte 8
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add byte [xBX], byte 8
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add byte [xDI], byte 8
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ; 81 /0 i[wd] ADD reg/memX, immX - sans reg dst
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add word [1000h], word 090cch
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add word [xBX], word 090cch
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add word [xDI], word 090cch
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add dword [1000h], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add dword [xBX], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add dword [xDI], dword 0cc90cc90h
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%ifdef WITH_64_BIT_TESTS_IMM32
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [1000h], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [rbx], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [rdi], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [r9], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync%endif
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ; 83 /0 ib ADD reg/memX, imm8 - sans reg dst
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add word [1000h], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add word [xBX], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add word [xDI], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add dword [1000h], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add dword [xBX], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add dword [xDI], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync%ifdef WITH_64_BIT_TESTS
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [1000h], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [rbx], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [rdi], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [r10], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync%endif
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ; 00 /r ADD reg/mem8, reg8 - sans reg dst
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add byte [1000h], bl
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add byte [xBX], bl
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add byte [xSI], bl
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ; 01 /r ADD reg/memX, regX - sans reg dst
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add word [1000h], bx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add word [xBX], bx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add word [xSI], bx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add dword [1000h], ebx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add dword [xBX], ebx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add dword [xSI], ebx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync%ifdef WITH_64_BIT_TESTS
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [1000h], rbx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [rbx], rbx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [rsi], rbx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock add qword [r11], rbx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync%endif
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; AND
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ;
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ; 80 /4 ib AND reg/mem8, imm8 - sans reg dst
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and byte [1000h], byte 8
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and byte [xBX], byte 8
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and byte [xDI], byte 8
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ; 81 /4 i[wd] AND reg/memX, immX - sans reg dst
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and word [1000h], word 090cch
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and word [xBX], word 090cch
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and word [xDI], word 090cch
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and dword [1000h], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and dword [xBX], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and dword [xDI], dword 0cc90cc90h
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%ifdef WITH_64_BIT_TESTS_IMM32
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [1000h], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [rbx], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [rdi], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [r9], dword 0cc90cc90h
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync%endif
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ; 83 /4 ib AND reg/memX, imm8 - sans reg dst
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and word [1000h], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and word [xBX], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and word [xDI], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and dword [1000h], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and dword [xBX], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and dword [xDI], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync%ifdef WITH_64_BIT_TESTS
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [1000h], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [rbx], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [rdi], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [r10], byte 07fh
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync%endif
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ; 20 /r AND reg/mem8, reg8 - sans reg dst
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and byte [1000h], bl
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and byte [xBX], bl
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and byte [xSI], bl
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync ; 21 /r AND reg/memX, regX - sans reg dst
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and word [1000h], bx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and word [xBX], bx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and word [xSI], bx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and dword [1000h], ebx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and dword [xBX], ebx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and dword [xSI], ebx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync%ifdef WITH_64_BIT_TESTS
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [1000h], rbx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [rbx], rbx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [rsi], rbx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync lock and qword [r11], rbx
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync%endif
d4fc85c3ee5e6be624f59217c7e677187f4ed1c1vboxsync
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; BTC
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ;
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ; 0f bb /r BTC reg/memX, regX (X != 8) - sans reg dst
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc word [20cch], bx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc word [xBX], bx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc word [xDI], bx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc dword [20cch], ebx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc dword [xBX], ebx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc dword [xDI], ebx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%ifdef WITH_64_BIT_TESTS
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc qword [20cch], rbx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc qword [rdx], rbx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc qword [rdi], r10
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc qword [r8], r12
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%endif
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ; 0f ba /7 ib BTC reg/memX, imm8 (X != 8) - sans reg dst
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc word [20cch], 15
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc word [xBX], 15
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc word [xDI], 15
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc dword [20cch], 30
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc dword [xBX], 30
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc dword [xDI], 30
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%ifdef WITH_64_BIT_TESTS
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc qword [20cch], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc qword [rdx], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc qword [rdi], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc qword [r9], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btc qword [r12], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%endif
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; BTR
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ;
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ; 0f b3 /r BTR reg/memX, regX (X != 8) - sans reg dst
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr word [20cch], bx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr word [xBX], bx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr word [xDI], bx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr dword [20cch], ebx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr dword [xBX], ebx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr dword [xDI], ebx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%ifdef WITH_64_BIT_TESTS
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr qword [20cch], rbx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr qword [rdx], rbx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr qword [rdi], r10
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr qword [r8], r12
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%endif
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ; 0f ba /6 ib BTR reg/memX, imm8 (X != 8) - sans reg dst
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr word [20cch], 15
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr word [xBX], 15
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr word [xDI], 15
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr dword [20cch], 30
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr dword [xBX], 30
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr dword [xDI], 30
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%ifdef WITH_64_BIT_TESTS
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr qword [20cch], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr qword [rdx], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr qword [rdi], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr qword [r9], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock btr qword [r12], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%endif
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; BTS
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ;
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ; 0f ab /r BTS reg/memX, regX (X != 8) - sans reg dst
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts word [20cch], bx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts word [xBX], bx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts word [xDI], bx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts dword [20cch], ebx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts dword [xBX], ebx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts dword [xDI], ebx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%if TEST_BITS == 64
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts qword [20cch], rbx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts qword [rdx], rbx
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts qword [rdi], r10
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts qword [r8], r12
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%endif
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync ; 0f ba /5 ib BTS reg/memX, imm8 (X != 8) - sans reg dst
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts word [20cch], 15
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts word [xBX], 15
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts word [xDI], 15
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts dword [20cch], 30
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts dword [xBX], 30
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts dword [xDI], 30
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%if TEST_BITS == 64
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts qword [20cch], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts qword [rdx], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts qword [rdi], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts qword [r9], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync lock bts qword [r12], 60
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync%endif
d87590b7372fa24a007e0b16b1785b2be49461aevboxsync
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; CMPXCHG
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync ;
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync ; 0f b0 /r CMPXCHG reg8/mem8, regX - with reg dst
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg byte [30cch], cl
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg byte [xBX], cl
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg byte [xSI], cl
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync ; 0f b1 /r CMPXCHG regX/memX, regX - with reg dst
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg word [30cch], cx
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg word [xBX], cx
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg word [xSI], cx
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg dword [30cch], ecx
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg dword [xBX], ecx
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg dword [xSI], ecx
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync%ifdef WITH_64_BIT_TESTS
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg qword [30cch], rcx
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg qword [xBX], rcx
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg qword [xSI], rcx
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg qword [rdi], r8
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg qword [r12], r9
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync%endif
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; CMPXCHG8B
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; CMPXCHG16B
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync ;
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync ;; @todo get back to cmpxchg8b and cmpxchg16b.
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg8b qword [1000h]
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg8b qword [xDI]
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg8b qword [xDI+xBX]
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync%ifdef WITH_64_BIT_TESTS_CMPXCHG16B
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg16b [1000h]
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg16b [xDI]
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync lock cmpxchg16b [xDI+xBX]
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync%endif
76ebef03f51acf550f0d4c488ecb70993511430fvboxsync
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; DEC
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync ;
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync ; fe /1 DEC reg8/mem8 - sans reg dst
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock dec byte [40cch]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock dec byte [xBX]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock dec byte [xSI]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync ; ff /1 DEC regX/memX - sans reg dst
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock dec word [40cch]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock dec word [xBX]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock dec word [xSI]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock dec dword [40cch]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock dec dword [xBX]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock dec dword [xSI]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync%ifdef WITH_64_BIT_TESTS
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock dec qword [40cch]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock dec qword [xBX]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock dec qword [xSI]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock dec qword [r8]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock dec qword [r12]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync%endif
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; INC
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync ;
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync ; fe /0 INC reg8/mem8 - sans reg dst
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock inc byte [40cch]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock inc byte [xBX]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock inc byte [xSI]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync ; ff /0 INC regX/memX - sans reg dst
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock inc word [40cch]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock inc word [xBX]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock inc word [xSI]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock inc dword [40cch]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock inc dword [xBX]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock inc dword [xSI]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync%ifdef WITH_64_BIT_TESTS
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock inc qword [40cch]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock inc qword [xBX]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock inc qword [xSI]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock inc qword [r8]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync lock inc qword [r12]
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync%endif
52f13cdf80e4d2562f078013ca8eaa038a9c4aa9vboxsync
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; NEG
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync ;
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync ; f6 /3 NEG reg8/mem8 - sans reg dst
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg byte [40cch]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg byte [xBX]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg byte [xSI]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync ; f7 /3 NEG regX/memX - sans reg dst
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg word [40cch]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg word [xBX]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg word [xSI]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg dword [40cch]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg dword [xBX]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg dword [xSI]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync%ifdef WITH_64_BIT_TESTS
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg qword [40cch]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg qword [xBX]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg qword [xSI]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg qword [r8]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock neg qword [r12]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync%endif
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; NOT
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync ;
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync ; f6 /2 NOT reg8/mem8 - sans reg dst
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not byte [40cch]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not byte [xBX]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not byte [xSI]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync ; f7 /2 NOT regX/memX - sans reg dst
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not word [40cch]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not word [xBX]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not word [xSI]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not dword [40cch]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not dword [xBX]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not dword [xSI]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync%ifdef WITH_64_BIT_TESTS
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not qword [40cch]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not qword [xBX]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not qword [xSI]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not qword [r8]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync lock not qword [r12]
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync%endif
5edc3492286a55edcf508851ad6b0a172c975edfvboxsync
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; OR
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ;
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 80 /1 ib OR reg/mem8, imm8 - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or byte [1000h], byte 8
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or byte [xBX], byte 8
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or byte [xDI], byte 8
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 81 /1 i[wd] OR reg/memX, immX - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or word [1000h], word 090cch
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or word [xBX], word 090cch
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or word [xDI], word 090cch
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or dword [1000h], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or dword [xBX], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or dword [xDI], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%ifdef WITH_64_BIT_TESTS_IMM32
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [1000h], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [rbx], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [rdi], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [r9], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%endif
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 83 /1 ib OR reg/memX, imm8 - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or word [1000h], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or word [xBX], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or word [xDI], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or dword [1000h], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or dword [xBX], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or dword [xDI], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%ifdef WITH_64_BIT_TESTS
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [1000h], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [rbx], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [rdi], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [r10], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%endif
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 08 /r OR reg/mem8, reg8 - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or byte [1000h], bl
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or byte [xBX], bl
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or byte [xSI], bl
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 09 /r OR reg/memX, regX - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or word [1000h], bx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or word [xBX], bx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or word [xSI], bx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or dword [1000h], ebx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or dword [xBX], ebx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or dword [xSI], ebx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%ifdef WITH_64_BIT_TESTS
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [1000h], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [rbx], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [rsi], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock or qword [r11], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%endif
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; SBB
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ;
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 80 /3 ib SBB reg/mem8, imm8 - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb byte [1000h], byte 8
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb byte [xBX], byte 8
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb byte [xDI], byte 8
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 81 /3 i[wd] SBB reg/memX, immX - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb word [1000h], word 090cch
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb word [xBX], word 090cch
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb word [xDI], word 090cch
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb dword [1000h], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb dword [xBX], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb dword [xDI], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%ifdef WITH_64_BIT_TESTS_IMM32
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [1000h], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [rbx], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [rdi], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [r9], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%endif
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 83 /3 ib SBB reg/memX, imm8 - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb word [1000h], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb word [xBX], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb word [xDI], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb dword [1000h], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb dword [xBX], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb dword [xDI], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%ifdef WITH_64_BIT_TESTS
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [1000h], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [rbx], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [rdi], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [r10], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%endif
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 18 /r SBB reg/mem8, reg8 - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb byte [1000h], bl
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb byte [xBX], bl
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb byte [xSI], bl
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 19 /r SBB reg/memX, regX - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb word [1000h], bx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb word [xBX], bx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb word [xSI], bx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb dword [1000h], ebx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb dword [xBX], ebx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb dword [xSI], ebx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%ifdef WITH_64_BIT_TESTS
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [1000h], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [rbx], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [rsi], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sbb qword [r11], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%endif
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; SUB
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ;
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 80 /5 ib SUB reg/mem8, imm8 - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub byte [1000h], byte 8
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub byte [xBX], byte 8
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub byte [xDI], byte 8
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 81 /5 i[wd] SUB reg/memX, immX - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub word [1000h], word 090cch
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub word [xBX], word 090cch
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub word [xDI], word 090cch
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub dword [1000h], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub dword [xBX], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub dword [xDI], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%ifdef WITH_64_BIT_TESTS_IMM32
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [1000h], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [rbx], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [rdi], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [r9], dword 0cc90cc90h
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%endif
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 83 /5 ib SUB reg/memX, imm8 - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub word [1000h], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub word [xBX], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub word [xDI], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub dword [1000h], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub dword [xBX], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub dword [xDI], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%ifdef WITH_64_BIT_TESTS
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [1000h], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [rbx], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [rdi], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [r10], byte 07fh
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%endif
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 28 /r SUB reg/mem8, reg8 - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub byte [1000h], bl
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub byte [xBX], bl
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub byte [xSI], bl
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync ; 29 /r SUB reg/memX, regX - sans reg dst
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub word [1000h], bx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub word [xBX], bx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub word [xSI], bx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub dword [1000h], ebx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub dword [xBX], ebx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub dword [xSI], ebx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%ifdef WITH_64_BIT_TESTS
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [1000h], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [rbx], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [rsi], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync lock sub qword [r11], rbx
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync%endif
1b46f37d3d01a583e1fe514088598fba126abf8evboxsync
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; XADD
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ;
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; 0f c0 /r XADD reg/mem8, reg8 - sans reg dst
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd byte [1000h], bl
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd byte [xBX], bl
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd byte [xDI], bl
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; 0f c1 /r XADD reg/memX, immX - sans reg dst
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd word [1000h], cx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd word [xBX], cx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd word [xDI], cx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd dword [1000h], edx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd dword [xBX], edx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd dword [xDI], edx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%ifdef WITH_64_BIT_TESTS
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd qword [1000h], rbx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd qword [xBX], rbx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd qword [xDI], rbx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd qword [r8], rbx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xadd qword [r12], r8
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%endif
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; XCHG
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ;
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; Note: The operands can be switched around but the
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; encoding is the same.
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ;
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; 86 /r XCHG reg/mem8, imm8 - sans reg dst
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg byte [80cch], bl
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg byte [xBX], bl
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg byte [xSI], bl
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%ifdef WITH_64_BIT_TESTS_BORKED_REGS
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg byte [rsi], r15b ; turns into r15l which yasm doesn't grok
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg byte [r8], r15b ; ditto
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%endif
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; 87 /r XCHG reg/memX, immX - sans reg dst
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg word [80cch], bx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg word [xBX], bx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg word [xSI], bx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg dword [80cch], ebx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg dword [xBX], ebx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg dword [xSI], ebx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%ifdef WITH_64_BIT_TESTS
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg qword [80cch], rbx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg qword [xBX], rbx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg qword [xSI], rbx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg qword [xSI], r15
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync %ifdef WITH_64_BIT_TESTS_BORKED_REGS
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg dword [xSI], r15d ; turns into rdi
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xchg word [xSI], r15w ; turns into rdi
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync %endif
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%endif
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync ; XOR
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ;
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; 80 /6 ib XOR reg/mem8, imm8 - sans reg dst
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor byte [1000h], byte 8
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor byte [xBX], byte 8
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor byte [xDI], byte 8
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; 81 /6 i[wd] XOR reg/memX, immX - sans reg dst
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor word [1000h], word 090cch
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor word [xBX], word 090cch
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor word [xDI], word 090cch
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor dword [1000h], dword 0cc90cc90h
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor dword [xBX], dword 0cc90cc90h
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor dword [xDI], dword 0cc90cc90h
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%ifdef WITH_64_BIT_TESTS_IMM32
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [1000h], dword 0cc90cc90h
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [rbx], dword 0cc90cc90h
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [rdi], dword 0cc90cc90h
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [r9], dword 0cc90cc90h
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%endif
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; 83 /6 ib XOR reg/memX, imm8 - sans reg dst
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor word [1000h], byte 07fh
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor word [xBX], byte 07fh
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor word [xDI], byte 07fh
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor dword [1000h], byte 07fh
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor dword [xBX], byte 07fh
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor dword [xDI], byte 07fh
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%ifdef WITH_64_BIT_TESTS
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [1000h], byte 07fh
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [rbx], byte 07fh
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [rdi], byte 07fh
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [r10], byte 07fh
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%endif
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; 30 /r XOR reg/mem8, reg8 - sans reg dst
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor byte [1000h], bl
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor byte [xBX], bl
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor byte [xSI], bl
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync ; 31 /r XOR reg/memX, regX - sans reg dst
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor word [1000h], bx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor word [xBX], bx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor word [xSI], bx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor dword [1000h], ebx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor dword [xBX], ebx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor dword [xSI], ebx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync%ifdef WITH_64_BIT_TESTS
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [1000h], rbx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [rbx], rbx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [rsi], rbx
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync lock xor qword [r11], rbx
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync%endif
b092604ecf7af2c2e13df4b8b17f4cab946ea985vboxsync