Index: /trunk/src/VBox/Disassembler/DisasmTest.cpp
===================================================================
--- /trunk/src/VBox/Disassembler/DisasmTest.cpp	(revision 41715)
+++ /trunk/src/VBox/Disassembler/DisasmTest.cpp	(revision 41716)
@@ -21,7 +21,7 @@
 #include <VBox/dis.h>
 #include <iprt/test.h>
-#include <iprt/asm.h>
+#include <iprt/ctype.h>
 #include <iprt/string.h>
-#include <VBox/err.h>
+#include <iprt/err.h>
 
 
@@ -46,13 +46,29 @@
         int rc = DISInstrToStr(&pabInstrs[off], enmDisCpuMode, &Cpu, &cb, szOutput, sizeof(szOutput));
 
-
         RTTESTI_CHECK_RC(rc, VINF_SUCCESS);
         RTTESTI_CHECK(cb == Cpu.opsize);
         RTTESTI_CHECK(cb > 0);
         RTTESTI_CHECK(cb <= 16);
+        RTStrStripR(szOutput);
+        RTTESTI_CHECK(szOutput[0]);
+        if (szOutput[0])
+        {
+            char *pszBytes = strchr(szOutput, '[');
+            RTTESTI_CHECK(pszBytes);
+            if (pszBytes)
+            {
+                RTTESTI_CHECK(pszBytes[-1] == ' ');
+                RTTESTI_CHECK(RT_C_IS_XDIGIT(pszBytes[1]));
+                RTTESTI_CHECK(pszBytes[cb * 3] == ']');
+                RTTESTI_CHECK(pszBytes[cb * 3 + 1] == ' ');
+
+                size_t cch = strlen(szOutput);
+                RTTESTI_CHECK(szOutput[cch - 1] != ',');
+            }
+        }
         if (cErrBefore != RTTestIErrorCount())
-            RTTestIFailureDetails("rc=%Rrc, off=%#x (%u) cbInstr=%u enmDisCpuMode=%d",
+            RTTestIFailureDetails("rc=%Rrc, off=%#x (%u) cbInstr=%u enmDisCpuMode=%d\n",
                                   rc, off, Cpu.opsize, enmDisCpuMode);
-        RTTestIPrintf(RTTESTLVL_ALWAYS, "%s", szOutput);
+        RTTestIPrintf(RTTESTLVL_ALWAYS, "%s\n", szOutput);
         off += cb;
     }
Index: /trunk/src/VBox/Disassembler/DisasmTestA.asm
===================================================================
--- /trunk/src/VBox/Disassembler/DisasmTestA.asm	(revision 41715)
+++ /trunk/src/VBox/Disassembler/DisasmTestA.asm	(revision 41716)
@@ -32,54 +32,55 @@
 align 16
 BEGINPROC   TestProc32
-    xor eax, eax
-    mov al, 4
-    lea edx, [4]
-    mov edx, 4
-    mov eax, 4
-    shl eax, 4
-    shl edx, 4
-    shr edx, 4
-    mov eax, edx
-    mov eax, ecx
-    mov edx, eax
-    mov ecx, eax
-    DB 0xF0, 0x0F, 0x22, 0xC0
-    DB 0xF0, 0x0F, 0x20, 0xC0
-    smsw  word [edx+16]
-;    invept      eax, qword [ecx]
-    DB          0x66, 0x0F, 0x38, 0x80, 0x1
-;    invept      eax, qword [ecx]
-    DB          0x66, 0x0F, 0x38, 0x81, 0x1
-      mov   eax, dword [ecx]
-      mov   word [edi], 0123ah
-      movzx eax,byte  [edx]
-      movzx eax,word  [edx]
-;      mov dword es:[ebx + 1234h], 0789h
-;      mov word  fs:[ebx + ecx], 0654h
-;      mov byte  [esi + eax*4], 0654h
-;      mov bl, byte  ds:[ebp + 1234h]
-;      mov al, cs:[1234h + ecx*8]
-;      mov al, cs:[1234h]
-;      mov ax, cs:[1234h]
-;      mov eax, cs:[1234h]
-      lock cmpxchg [ecx], eax
-      lock cmpxchg [ecx], ax
-      lock cmpxchg [ecx], dl
-      movzx ESI,word  [EAX]
-      in al, dx
-      in ax, dx
-      in eax, dx
-      mov ebx, [ecx + eax*4 + 17]
-      mov ebx, [ebp + eax*4 + 4]
-      mov ebx, [ebp + eax*4]
-      int 80h
-      in  al, 60h
-      in  ax, dx
-      out 64h, eax
+        xor eax, eax
+        mov al, 4
+        lea edx, [4]
+        mov edx, 4
+        mov eax, 4
+        shl eax, 4
+        shl edx, 4
+        shr edx, 4
+        mov eax, edx
+        mov eax, ecx
+        mov edx, eax
+        mov ecx, eax
+        DB 0xF0, 0x0F, 0x22, 0xC0
+        DB 0xF0, 0x0F, 0x20, 0xC0
+        smsw  word [edx+16]
+        ;    invept      eax, qword [ecx]
+        DB          0x66, 0x0F, 0x38, 0x80, 0x1
+        ;    invept      eax, qword [ecx]
+        DB          0x66, 0x0F, 0x38, 0x81, 0x1
+        mov   eax, dword [ecx]
+        mov   word [edi], 0123ah
+        movzx eax,byte  [edx]
+        movzx eax,word  [edx]
+        mov dword [es:ebx + 1234h], 0789h
+        mov word  [fs:ebx + ecx], 0654h
+        mov byte  [esi + eax*4], 054h
+        mov bl, byte [ds:ebp + 1234h]
+        mov al, [cs:1234h + ecx*8]
+        mov al, [cs:1234h]
+        mov ax, [cs:1234h]
+        mov eax, [cs:1234h]
+        lock cmpxchg [ecx], eax
+        lock cmpxchg [ecx], ax
+        lock cmpxchg [ecx], dl
+        movzx ESI,word  [EAX]
+        in al, dx
+        in ax, dx
+        in eax, dx
+        mov ebx, [ecx + eax*4 + 17]
+        mov ebx, [ebp + eax*4 + 4]
+        mov ebx, [ebp + eax*4]
+        int 80h
+        in  al, 60h
+        in  ax, dx
+        out 64h, eax
 
-      movss xmm0, xmm1
-      movsd xmm6, xmm1
+        movss xmm0, xmm1
+        movsd xmm6, xmm1
 
-      pause
+        pause
+        nop
 ENDPROC   TestProc32
 
@@ -89,84 +90,84 @@
 align 16
 BEGINPROC TestProc64
-    mov cr8, rax
-    mov cr8, rbx
-    mov [0xfffe0080], rax
-    mov [0xfffe0080], rbx
-    mov rax, cr8
-    mov rbx, cr8
-    mov rax, [0xfffe0080]
-    mov rbx, [0xfffe0080]
-    divsd xmm1, xmm0
- ;    invept      rdi, qword [rsi]
-    DB          0x66, 0x0F, 0x38, 0x80, 0x3E
-;    invept      rcx, qword [rdx]
-    DB          0x66, 0x0F, 0x38, 0x80, 0xA
-    ;invvpid     rdi, qword [rsi]
-    DB          0x66, 0x0F, 0x38, 0x81, 0x3E
-;    invvpid     rcx, qword [rdx]
-    DB          0x66, 0x0F, 0x38, 0x81, 0xA
-      mov   rdi, [rsi]
-      mov   rcx, [rdx]
-      db 48h
-      db 0c7h
-      db 42h
-      db 18h
-      db 20h
-      db 3eh
-      db 23h
-      db 80h
-      call qword [r8+10h]
-      ; test
-      db 48h
-      db 8bh
-      db 44h
-      db 0ah
-      db 0f8h
-      ;incorrectly assembled by yasm; REX.W should not be added!
-      ;test rax, dword 0cc90cc90h
-      db 8bh
-      db 04h
-      db 8dh
-      db 00h
-      db 00h
-      db 0feh
-      db 0ffh
-      mov   qword [rcx+rdx], 0
-      mov   dword [rcx+rdx], 0
-      and   [r15], rax
-      movzx rcx, sil
-      and   sil, 3
-      movzx ecx, ah
-      and   ah, 3
+        mov cr8, rax
+        mov cr8, rbx
+        mov [0xfffe0080], rax
+        mov [0xfffe0080], rbx
+        mov rax, cr8
+        mov rbx, cr8
+        mov rax, [0xfffe0080]
+        mov rbx, [0xfffe0080]
+        divsd xmm1, xmm0
+        ;    invept      rdi, qword [rsi]
+        DB          0x66, 0x0F, 0x38, 0x80, 0x3E
+        ;    invept      rcx, qword [rdx]
+        DB          0x66, 0x0F, 0x38, 0x80, 0xA
+        ;invvpid     rdi, qword [rsi]
+        DB          0x66, 0x0F, 0x38, 0x81, 0x3E
+        ;    invvpid     rcx, qword [rdx]
+        DB          0x66, 0x0F, 0x38, 0x81, 0xA
+        mov   rdi, [rsi]
+        mov   rcx, [rdx]
+        db 48h
+        db 0c7h
+        db 42h
+        db 18h
+        db 20h
+        db 3eh
+        db 23h
+        db 80h
+        call qword [r8+10h]
+        ; test
+        db 48h
+        db 8bh
+        db 44h
+        db 0ah
+        db 0f8h
+        ;incorrectly assembled by yasm; REX.W should not be added!
+        ;test rax, dword 0cc90cc90h
+        db 8bh
+        db 04h
+        db 8dh
+        db 00h
+        db 00h
+        db 0feh
+        db 0ffh
+        mov   qword [rcx+rdx], 0
+        mov   dword [rcx+rdx], 0
+        and   [r15], rax
+        movzx rcx, sil
+        and   sil, 3
+        movzx ecx, ah
+        and   ah, 3
 
-      sub rcx, 1234h
-      mov rax, qword [0cc90cc90h]
-      mov rax, qword [00c90cc90h]
-      mov rax, dword 0cc90cc90h
-      mov rax, qword 0ffffcc90cc90h
+        sub rcx, 1234h
+        mov rax, qword [0cc90cc90h]
+        mov rax, qword [00c90cc90h]
+        mov rax, dword 0cc90cc90h
+        mov rax, qword 0ffffcc90cc90h
 
-      movzx rax,byte  [edx]
-      movzx rax,word  [edx]
-      movzx rax,byte  [rdx]
-      lock cmpxchg [rcx], rax
-      lock cmpxchg [rcx], ax
-      lock cmpxchg [r15], dl
-      movzx RSI, word [R8]
-      in al, dx
-      in ax, dx
-      in eax, dx
-      mov rbx, [rcx + rax*4 + 17]
-      mov rbx, [rbp + rax*4 + 4]
-      mov rbx, [rbp + rax*4]
-      mov rbx, [ebp + eax*4]
-      int 80h
-      in  al, 60h
-      in  ax, dx
-      out 64h, eax
+        movzx rax,byte  [edx]
+        movzx rax,word  [edx]
+        movzx rax,byte  [rdx]
+        lock cmpxchg [rcx], rax
+        lock cmpxchg [rcx], ax
+        lock cmpxchg [r15], dl
+        movzx RSI, word [R8]
+        in al, dx
+        in ax, dx
+        in eax, dx
+        mov rbx, [rcx + rax*4 + 17]
+        mov rbx, [rbp + rax*4 + 4]
+        mov rbx, [rbp + rax*4]
+        mov rbx, [ebp + eax*4]
+        int 80h
+        in  al, 60h
+        in  ax, dx
+        out 64h, eax
 
-      movss xmm0, xmm14
-      movsd xmm6, xmm1
+        movss xmm0, xmm14
+        movsd xmm6, xmm1
 
-      ret
+        ret
 ENDPROC   TestProc64
 %endif ; !OS2
