home *** CD-ROM | disk | FTP | other *** search
-
- ifdef SMALL
- codesize equ 0
- datasize equ 0
- endif
- ifdef MEDIUM
- codesize equ 1
- datasize equ 0
- endif
- ifdef COMPACT
- codesize equ 0
- datasize equ 1
- endif
- ifdef LARGE
- codesize equ 1
- datasize equ 1
- endif
-
- if codesize
- codeptr equ 4
- else
- codeptr equ 2
- endif
-
- if datasize
- dataptr equ 4
- else
- dataptr equ 2
- endif
-
- over equ 2+codeptr
-
- procstart MACRO name
- if codesize
- name PROC FAR
- public name
- else
- name PROC NEAR
- public name
- endif
- ENDM
-
- procend MACRO name
- if codesize
- name ENDP
- else
- name ENDP
- endif
- ENDM
-
- begbssseg MACRO
- _BSS SEGMENT WORD PUBLIC 'BSS'
- ENDM
-
- endbssseg MACRO
- _BSS ENDS
- ENDM
-
- begconseg MACRO
- CONST SEGMENT WORD PUBLIC 'CONST'
- ENDM
-
- endconseg MACRO
- CONST ENDS
- ENDM
-
- begdataseg MACRO
- _DATA SEGMENT WORD PUBLIC 'DATA'
- ENDM
-
- enddataseg MACRO
- _DATA ENDS
- ENDM
-
- header MACRO
- begdataseg
- enddataseg
- begconseg
- endconseg
- begbssseg
- endbssseg
- ENDM
-
-
- begcodeseg MACRO name
- if codesize
- name_TEXT SEGMENT WORD PUBLIC 'CODE'
- DGROUP GROUP _DATA,_BSS,CONST
- ASSUME CS:name_TEXT,DS:DGROUP,SS:DGROUP
- else
- _TEXT SEGMENT WORD PUBLIC 'CODE'
- DGROUP GROUP _DATA,_BSS,CONST
- ASSUME CS:_TEXT,DS:DGROUP,SS:DGROUP
- endif
- ENDM
-
- endcodeseg MACRO name
- if codesize
- name_TEXT ENDS
- else
- _TEXT ENDS
- endif
- ENDM
-