117b4009ec13a933e59dd5f66259a2488063c950vboxsync; $Id$
117b4009ec13a933e59dd5f66259a2488063c950vboxsync;; @file
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; Disassembly testcase - Accessing all the registers
117b4009ec13a933e59dd5f66259a2488063c950vboxsync;
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; This is a build test, that means it will be assembled, disassembled,
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; then the disassembly output will be assembled and the new binary will
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; compared with the original.
117b4009ec13a933e59dd5f66259a2488063c950vboxsync;
117b4009ec13a933e59dd5f66259a2488063c950vboxsync
117b4009ec13a933e59dd5f66259a2488063c950vboxsync;
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsync; Copyright (C) 2008-2010 Oracle Corporation
117b4009ec13a933e59dd5f66259a2488063c950vboxsync;
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; This file is part of VirtualBox Open Source Edition (OSE), as
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; available from http://www.virtualbox.org. This file is free software;
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; you can redistribute it and/or modify it under the terms of the GNU
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; General Public License (GPL) as published by the Free Software
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; Foundation, in version 2 as it comes in the "COPYING" file of the
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
117b4009ec13a933e59dd5f66259a2488063c950vboxsync; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
117b4009ec13a933e59dd5f66259a2488063c950vboxsync;
117b4009ec13a933e59dd5f66259a2488063c950vboxsync
117b4009ec13a933e59dd5f66259a2488063c950vboxsync%include "tstAsm.mac"
117b4009ec13a933e59dd5f66259a2488063c950vboxsync
117b4009ec13a933e59dd5f66259a2488063c950vboxsync BITS TEST_BITS
117b4009ec13a933e59dd5f66259a2488063c950vboxsync
117b4009ec13a933e59dd5f66259a2488063c950vboxsync ;; @todo
117b4009ec13a933e59dd5f66259a2488063c950vboxsync ; Missing a bunch of permutations and encoding variants
117b4009ec13a933e59dd5f66259a2488063c950vboxsync ;
117b4009ec13a933e59dd5f66259a2488063c950vboxsync
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, al
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, ah
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, bl
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, bh
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, cl
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, ch
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, dl
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, dh
d3cb168f4c128e4477c3f791d983f84075fb2835vboxsync%if TEST_BITS == 64
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, dil
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, sil
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, bpl
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, spl
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, r8b
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, r9b
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, r10b
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, r11b
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, r12b
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, r13b
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, r14b
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov al, r15b
117b4009ec13a933e59dd5f66259a2488063c950vboxsync%endif
117b4009ec13a933e59dd5f66259a2488063c950vboxsync
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, ax
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, bx
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, cx
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, dx
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, si
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, di
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, bp
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, sp
117b4009ec13a933e59dd5f66259a2488063c950vboxsync%if TEST_BITS == 64
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, r8w
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, r9w
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, r10w
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, r11w
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, r12w
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, r13w
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, r14w
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov ax, r15w
117b4009ec13a933e59dd5f66259a2488063c950vboxsync%endif
117b4009ec13a933e59dd5f66259a2488063c950vboxsync
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, eax
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, ebx
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, ecx
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, edx
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, esi
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, edi
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, ebp
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, esp
117b4009ec13a933e59dd5f66259a2488063c950vboxsync%if TEST_BITS == 64
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, r8d
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, r9d
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, r10d
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, r11d
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, r12d
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, r13d
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, r14d
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov eax, r15d
117b4009ec13a933e59dd5f66259a2488063c950vboxsync%endif
117b4009ec13a933e59dd5f66259a2488063c950vboxsync
117b4009ec13a933e59dd5f66259a2488063c950vboxsync%if TEST_BITS == 64
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, rax
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, rbx
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, rcx
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, rdx
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, rsi
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, rdi
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, rbp
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, rsp
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, r8
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, r9
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, r10
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, r11
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, r12
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, r13
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, r14
117b4009ec13a933e59dd5f66259a2488063c950vboxsync mov rax, r15
117b4009ec13a933e59dd5f66259a2488063c950vboxsync%endif
117b4009ec13a933e59dd5f66259a2488063c950vboxsync
117b4009ec13a933e59dd5f66259a2488063c950vboxsync