Index: /trunk/src/VBox/Devices/BiosCommonCode/__U4D.asm
===================================================================
--- /trunk/src/VBox/Devices/BiosCommonCode/__U4D.asm	(revision 75247)
+++ /trunk/src/VBox/Devices/BiosCommonCode/__U4D.asm	(revision 75248)
@@ -72,5 +72,20 @@
                 .8086
 else
+                ;
+                ; If the divisor is only 16-bit, use a fast path
+                ;
+                test    cx, cx
+                jnz     do_it_the_hard_way
+                
+                div     bx              ; dx:ax / bx -> ax=quotient, dx=remainder
 
+                mov     bx, dx          ; remainder in cx:bx, and we know cx=0
+
+                xor     dx, dx          ; quotient in dx:ax, dx must be zero
+
+                popf
+                ret
+
+do_it_the_hard_way:
                 ; Call C function do this.
                 push    ds
