home *** CD-ROM | disk | FTP | other *** search
-
- ; *******************************************************
- ; * *
- ; * Turbo Pascal Run-time Library *
- ; * Data Segment Initialization *
- ; * *
- ; * Copyright (c) 1988,92 Borland International *
- ; * *
- ; *******************************************************
-
- TITLE LAST
-
- ; This module must be the last one linked into the System unit. That
- ; way, the ConstEnd and DataEnd symbols will mark the end of the
- ; initialized and uninitialized portions of the data segment.
-
- CONST SEGMENT WORD PUBLIC
-
- ; End of initialized portion of data segment
-
- ConstEnd LABEL WORD
-
- CONST ENDS
-
- DATA SEGMENT WORD PUBLIC
-
- ; End of uninitialized portion of data segment
-
- DataEnd LABEL WORD
-
- DATA ENDS
-
- DGROUP GROUP CONST,DATA
-
- CODE SEGMENT BYTE PUBLIC
-
- ASSUME CS:CODE,DS:DGROUP
-
- ; Publics
-
- PUBLIC ClearDSeg
-
- ; Clear uninitialized data segment
-
- ClearDSeg:
-
- MOV DI,OFFSET ConstEnd
- PUSH DS
- POP ES
- MOV CX,OFFSET DataEnd
- SUB CX,DI
- SHR CX,1
- XOR AX,AX
- CLD
- REP STOSW
- RET
-
- CODE ENDS
-
- END
-