The 386 and 486 requires a jmp after any setting of cr0. It can be a
near jmp, but those processors do not correctly synchronize without
it.
We have jmps after setting cr0 in all spots except one, so make that
happen correctly.
mov eax,cr0
or al,1
mov cr0,eax ; Enter protected mode
- mov ax,PM_DS32 ; 32-bit data segment selector
+ jmp .next ; Near jump to synchronize on 386/486
+.next: mov ax,PM_DS32 ; 32-bit data segment selector
mov es,ax
mov ds,ax
mov ss,ax