09568f3b7a84302dc7f74eb86e8ce160208082a3
[reactos.git] / reactos / subsystems / ntvdm / registers.h
1 /*
2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
4 * FILE: registers.c
5 * PURPOSE: Exported functions for manipulating registers
6 * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
7 */
8
9 #ifndef _REGISTERS_H_
10 #define _REGISTERS_H_
11
12 /* INCLUDES *******************************************************************/
13
14 VOID EmulatorSetStack(WORD Segment, DWORD Offset);
15
16 #if 0 // Those function prototypes are already included via ddk/vddsvc.h
17
18 PVOID WINAPI getIntelRegistersPointer(VOID);
19
20 ULONG WINAPI getEAX(VOID);
21 VOID WINAPI setEAX(ULONG);
22 USHORT WINAPI getAX(VOID);
23 VOID WINAPI setAX(USHORT);
24 UCHAR WINAPI getAH(VOID);
25 VOID WINAPI setAH(UCHAR);
26 UCHAR WINAPI getAL(VOID);
27 VOID WINAPI setAL(UCHAR);
28
29 ULONG WINAPI getEBX(VOID);
30 VOID WINAPI setEBX(ULONG);
31 USHORT WINAPI getBX(VOID);
32 VOID WINAPI setBX(USHORT);
33 UCHAR WINAPI getBH(VOID);
34 VOID WINAPI setBH(UCHAR);
35 UCHAR WINAPI getBL(VOID);
36 VOID WINAPI setBL(UCHAR);
37
38 ULONG WINAPI getECX(VOID);
39 VOID WINAPI setECX(ULONG);
40 USHORT WINAPI getCX(VOID);
41 VOID WINAPI setCX(USHORT);
42 UCHAR WINAPI getCH(VOID);
43 VOID WINAPI setCH(UCHAR);
44 UCHAR WINAPI getCL(VOID);
45 VOID WINAPI setCL(UCHAR);
46
47 ULONG WINAPI getEDX(VOID);
48 VOID WINAPI setEDX(ULONG);
49 USHORT WINAPI getDX(VOID);
50 VOID WINAPI setDX(USHORT);
51 UCHAR WINAPI getDH(VOID);
52 VOID WINAPI setDH(UCHAR);
53 UCHAR WINAPI getDL(VOID);
54 VOID WINAPI setDL(UCHAR);
55
56
57
58 ULONG WINAPI getESP(VOID);
59 VOID WINAPI setESP(ULONG);
60 USHORT WINAPI getSP(VOID);
61 VOID WINAPI setSP(USHORT);
62
63 ULONG WINAPI getEBP(VOID);
64 VOID WINAPI setEBP(ULONG);
65 USHORT WINAPI getBP(VOID);
66 VOID WINAPI setBP(USHORT);
67
68 ULONG WINAPI getESI(VOID);
69 VOID WINAPI setESI(ULONG);
70 USHORT WINAPI getSI(VOID);
71 VOID WINAPI setSI(USHORT);
72
73 ULONG WINAPI getEDI(VOID);
74 VOID WINAPI setEDI(ULONG);
75 USHORT WINAPI getDI(VOID);
76 VOID WINAPI setDI(USHORT);
77
78 ULONG WINAPI getEIP(VOID);
79 VOID WINAPI setEIP(ULONG);
80 USHORT WINAPI getIP(VOID);
81 VOID WINAPI setIP(USHORT);
82
83 USHORT WINAPI getCS(VOID);
84 VOID WINAPI setCS(USHORT);
85 USHORT WINAPI getSS(VOID);
86 VOID WINAPI setSS(USHORT);
87 USHORT WINAPI getDS(VOID);
88 VOID WINAPI setDS(USHORT);
89 USHORT WINAPI getES(VOID);
90 VOID WINAPI setES(USHORT);
91 USHORT WINAPI getFS(VOID);
92 VOID WINAPI setFS(USHORT);
93 USHORT WINAPI getGS(VOID);
94 VOID WINAPI setGS(USHORT);
95
96 ULONG WINAPI getCF(VOID);
97 VOID WINAPI setCF(ULONG);
98 ULONG WINAPI getPF(VOID);
99 VOID WINAPI setPF(ULONG);
100 ULONG WINAPI getAF(VOID);
101 VOID WINAPI setAF(ULONG);
102 ULONG WINAPI getZF(VOID);
103 VOID WINAPI setZF(ULONG);
104 ULONG WINAPI getSF(VOID);
105 VOID WINAPI setSF(ULONG);
106 ULONG WINAPI getIF(VOID);
107 VOID WINAPI setIF(ULONG);
108 ULONG WINAPI getDF(VOID);
109 VOID WINAPI setDF(ULONG);
110 ULONG WINAPI getOF(VOID);
111 VOID WINAPI setOF(ULONG);
112
113 ULONG WINAPI getEFLAGS(VOID);
114 VOID WINAPI setEFLAGS(ULONG);
115
116 USHORT WINAPI getMSW(VOID);
117 VOID WINAPI setMSW(USHORT);
118
119 #endif
120
121 #endif // _REGISTERS_H_
122
123 /* EOF */