xref: /reactos/hal/halx86/generic/v86.S (revision 5100859e)
1/*
2 * FILE:            hal/halx86/generic/v86.S
3 * COPYRIGHT:       See COPYING in the top level directory
4 * PURPOSE:         System Traps, Entrypoints and Exitpoints
5 * PROGRAMMER:      Timo Kreuzer (timo.kreuzer@reactos.org)
6 * NOTE:            See asmmacro.S for the shared entry/exit code.
7 */
8
9/* INCLUDES ******************************************************************/
10
11#include <asm.inc>
12
13#include <ks386.inc>
14
15.code
16
17PUBLIC @HalpExitToV86@4
18@HalpExitToV86@4:
19    /* Point esp to the iret frame and return */
20    lea esp, [ecx + KTRAP_FRAME_EIP]
21    iretd
22
23/* Here starts the real mode code */
24.code16
25PUBLIC _HalpRealModeStart
26_HalpRealModeStart:
27    /* INT 0x10: AH = 0 (Set video Mode), AL = 0x12 (Mode 12) */
28    mov eax, HEX(12)
29    int HEX(10)
30
31    /* BOP */
32    .byte HEX(C4), HEX(C4)
33
34/* The real mode stack */
35.align 4
36.space 2048
37_HalpRealModeEnd:
38PUBLIC _HalpRealModeEnd
39.endcode16
40
41END
42