2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; $Id$
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync;; @file
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; Disassembly testcase - Invalid lock sequences for non-locking instructions.
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync;
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; The intention is to check in a binary using the --all-invalid mode
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync; of tstDisasm-2.
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"
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync
8fa1e8a8a8702ee38195fbe7ad5959bf971eb93bvboxsync BITS TEST_BITS
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov ebp, esp
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov byte [0], 0
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov word [0], 0
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov dword [0], 0
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov word [0], 01234h
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov dword [0], 012348765h
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov byte [ebx], 0
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov [ebx], eax
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov [ebx], ax
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov [ebx], al
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov [ebx], edx
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov [ebx], dx
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock mov [ebx], dl
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock ret
8fa1e8a8a8702ee38195fbe7ad5959bf971eb93bvboxsync%if TEST_BITS != 64
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock pop ebp
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync lock push esp
8fa1e8a8a8702ee38195fbe7ad5959bf971eb93bvboxsync%else
8fa1e8a8a8702ee38195fbe7ad5959bf971eb93bvboxsync lock pop rbp
8fa1e8a8a8702ee38195fbe7ad5959bf971eb93bvboxsync lock push rsp
8fa1e8a8a8702ee38195fbe7ad5959bf971eb93bvboxsync%endif
2fc5865b6b7d3deff17bbc562cbda013d518961cvboxsync