|
Last change
on this file since 1331 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 |
|
|---|
| 43 | CODE16 segment
|
|---|
| 44 | ASSUME CS:CODE16, DS:DATA16, ES:NOTHING, SS:NOTHING
|
|---|
| 45 |
|
|---|
| 46 | CODE16START 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 |
|
|---|
| 88 | CODE16 ends
|
|---|
| 89 |
|
|---|
| 90 | CODE32 segment
|
|---|
| 91 | CODE32START 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 |
|
|---|
| 98 | CODE32 ends
|
|---|
| 99 |
|
|---|
| 100 |
|
|---|
| 101 | ;
|
|---|
| 102 | ; all segments have a <segmentname>START label at the start of the segment.
|
|---|
| 103 | ;
|
|---|
| 104 | DATA16 segment
|
|---|
| 105 | DATA16START label byte
|
|---|
| 106 | DATA16 ends
|
|---|
| 107 |
|
|---|
| 108 | DATA16_BSS segment
|
|---|
| 109 | DATA16_BSSSTART label byte
|
|---|
| 110 | DATA16_BSS ends
|
|---|
| 111 |
|
|---|
| 112 | DATA16_CONST segment
|
|---|
| 113 | DATA16_CONSTSTART label byte
|
|---|
| 114 | DATA16_CONST ends
|
|---|
| 115 |
|
|---|
| 116 | DATA32 segment
|
|---|
| 117 | DATA32START label byte
|
|---|
| 118 | DATA32 ends
|
|---|
| 119 |
|
|---|
| 120 | BSS32 segment
|
|---|
| 121 | BSS32START label byte
|
|---|
| 122 | BSS32 ends
|
|---|
| 123 |
|
|---|
| 124 | CONST32_RO segment
|
|---|
| 125 | CONST32_ROSTART label byte
|
|---|
| 126 | CONST32_RO ends
|
|---|
| 127 | END
|
|---|
| 128 |
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.