source: trunk/src/win32k/dev32/devfirst.asm@ 1330

Last change on this file since 1330 was 847, checked in by bird, 26 years ago

Initial checkin of Win32k. (not tested & pe2lx not up-to-date!)

File size: 2.1 KB
Line 
1; $Id: devfirst.asm,v 1.1 1999-09-06 02:19:56 bird Exp $
2;
3; DevFirst - entrypoint and segment definitions
4;
5; Copyright (c) 1999 knut st. osmundsen
6;
7;
8 .386p
9
10;
11; Include files
12;
13 include devsegdf.inc
14
15;
16; Exported symbols
17;
18 public CODE16START
19 public DATA16START
20 public DATA16START
21 public DATA16_BSSSTART
22 public DATA16_CONSTSTART
23 public CODE16START
24 public CODE32START
25 public DATA32START
26 public BSS32START
27 public CONST32_ROSTART
28
29 public _strategyAsm0
30 public _strategyAsm1
31 public _SSToDS_16a
32
33
34;
35; Externs
36;
37 extrn _strategy:near
38 extrn CODE16END:byte
39 extrn DATA16END:byte
40 extrn _TKSSBase16:dword
41
42
43CODE16 segment
44 ASSUME CS:CODE16, DS:DATA16, ES:NOTHING, SS:NOTHING
45
46CODE16START label byte
47
48;$win32ki entry point
49_strategyAsm0:
50 push 0
51 jmp _strategyAsm
52
53;$win32k entry point
54_strategyAsm1:
55 push 1
56 jmp _strategyAsm
57
58_strategyAsm proc far
59 push es
60 push bx
61 push ds
62 pop es
63 call _strategy
64 pop bx
65 pop es
66 mov word ptr es:[bx+3], ax
67 add sp, 2
68; int 3
69 retf
70_strategyAsm endp
71
72
73;extern LIN SSToDS_16a(void NEAR *pStackVar);
74_SSToDS_16a proc near
75 assume CS:CODE16, DS:DATA16, ES:NOTHING
76 push es
77 jmp far ptr FLAT:_SSToDS_16a_GetFLAT_32
78_SSToDS_16a_GetFLAT_16::
79 mov edx, ds:_TKSSBase16
80 movzx eax, word ptr ss:[esp + 4]
81 add eax, es:[edx]
82 mov edx, eax
83 shr edx, 16
84 pop es
85 ret
86_SSToDS_16a endp
87
88CODE16 ends
89
90CODE32 segment
91CODE32START label byte
92 ASSUME CS:CODE32
93_SSToDS_16a_GetFLAT_32:
94 push cs
95 pop es
96 jmp far ptr CODE16:_SSToDS_16a_GetFLAT_16
97
98CODE32 ends
99
100
101;
102; all segments have a <segmentname>START label at the start of the segment.
103;
104DATA16 segment
105DATA16START label byte
106DATA16 ends
107
108DATA16_BSS segment
109DATA16_BSSSTART label byte
110DATA16_BSS ends
111
112DATA16_CONST segment
113DATA16_CONSTSTART label byte
114DATA16_CONST ends
115
116DATA32 segment
117DATA32START label byte
118DATA32 ends
119
120BSS32 segment
121BSS32START label byte
122BSS32 ends
123
124CONST32_RO segment
125CONST32_ROSTART label byte
126CONST32_RO ends
127END
128
Note: See TracBrowser for help on using the repository browser.