Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-c16-TrapRmV86Generic.asm
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-c16-TrapRmV86Generic.asm	(revision 60660)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-c16-TrapRmV86Generic.asm	(revision 60661)
@@ -179,9 +179,9 @@
         push    bx                      ; BP - 2
         pushf                           ; BP - 4
+        push    ax                      ; BP - 6
         cld
 
         ; Reserve space for the the register and trap frame.
         mov     bx, (BS3TRAPFRAME_size + 7) / 8
-        push    ax
         xor     ax, ax
 .more_zeroed_space:
@@ -193,5 +193,4 @@
         jnz     .more_zeroed_space
         mov     bx, sp
-        pop     ax
 
         mov     [ss:bx + BS3TRAPFRAME.uHandlerSs], ss
@@ -207,4 +206,5 @@
         mov     [ss:bx + BS3TRAPFRAME.Ctx + BS3REGCTX.rax], dx
 
+        mov     ax, [bp - 6]
         mov     [ss:bx + BS3TRAPFRAME.bXcpt], al
 
Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-RegCtxSave.asm
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-RegCtxSave.asm	(revision 60660)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-RegCtxSave.asm	(revision 60661)
@@ -103,6 +103,7 @@
         jb      .common_ancient
         CPU 286
-
         smsw    [xDI + BS3REGCTX.cr0]
+
+        mov     cl, [xDI + BS3REGCTX.bMode] ; assumed by jump destination
         jmp     .common_80286
 
@@ -208,4 +209,5 @@
         str     [xDI + BS3REGCTX.tr]
         sldt    [xDI + BS3REGCTX.ldtr]
+        jmp     .common_ancient
 
 .no_str_sldt:
