1
; Copyright (C) 2000 MySQL AB
3
; This library is free software; you can redistribute it and/or
4
; modify it under the terms of the GNU Library General Public
5
; License as published by the Free Software Foundation; version 2
8
; This library is distributed in the hope that it will be useful,
9
; but WITHOUT ANY WARRANTY; without even the implied warranty of
10
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
; Library General Public License for more details.
13
; You should have received a copy of the GNU Library General Public
14
; License along with this library; if not, write to the Free
15
; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
23
_FLAT equ 0 ;FLAT memory model
24
_STDCALL equ 0 ;default to _stdcall
29
_TEXT segment dword use32 public 'CODE'
30
assume CS:FLAT,DS:FLAT,SS:FLAT
32
_TEXT segment dword public 'CODE'
43
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
44
; Set up segments for data
45
; Regular initialized data goes in _DATA
47
_DATA segment dword public 'DATA'
50
;Function pointers to constructors
51
XIB segment dword public 'DATA'
53
XI segment dword public 'DATA'
55
XIE segment dword public 'DATA'
58
;Function pointers to destructors
59
XCB segment dword public 'DATA'
61
XC segment dword public 'DATA'
63
XCE segment dword public 'DATA'
66
;Constant data, such as switch tables, go here.
68
CONST segment dword public 'CONST'
71
;Segment for uninitialized data. This is set to 0 by the startup code/OS,
72
;so it does not consume room in the executable file.
74
_BSS segment dword public 'BSS'
77
HUGE_BSS segment dword public 'HUGE_BSS'
80
EEND segment dword public 'ENDBSS'
83
STACK segment para stack 'STACK'
85
DGROUP group _DATA,XIB,XI,XIE,XCB,XC,XCE,CONST,_BSS,EEND,STACK
99
P equ 8 ; Offset of start of parameters on the stack frame
100
; From EBP assuming EBP was pushed.
101
PS equ 4 ; Offset of start of parameters on the stack frame
102
; From ESP assuming EBP was NOT pushed.
107
SIZEPTR equ 4 ; Size of a pointer
123
;Macros to replace public, extrn, and endp for C-callable assembly routines,
124
; and to define labels: c_label defines labels,
125
; c_public replaces public, c_extrn replaces extrn, and c_endp replaces endp
139
clr macro list ;clear a register