6.1. -:
.286
TITLE MACRO6 (EXE) INCLUDE
;--------------------------------------------
INCLUDE D:MACRO.LIB
;--------------------------------------------------------
STAC SEGMENT PARA 'Stac'
DW 32 DUP(?)
STAC ENDS
;---------------------------------------------------
DATA SEGMENT PARA 'Data'
MESSGE DB 'Test of macro','$'
DATA ENDS
;---------------------------------------------------
CSEG SEGMENT PARA 'Code'
BEGIN PROC FAR
INIT CSEG,DATA,STAC;
PROMPT MESSGE
RET
BEGIN ENDP
CSEG ENDS
END BEGIN
IF1, INCLUDE ENDIF. LST- ENDIF. INIT PROMPT MACRO.LIB, .. MACRO.LIB .
INCLUDE , .
6.2. MACRO.LIB:
INIT MACRO CSNAME,DSNAME,SSNAME
ASSUME CS:CSNAME,DS:DSNAME
ASSUME SS:SSNAME,ES:DSNAME
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DSNAME
MOV DS,AX
MOV ES,AX
ENDM;
PROMPT MACRO MESSAGE
;
;; DOS
MOV AH,09;
LEA DX,MESSAGE
INT 21H
ENDM
6.3. . NORTON. .
7. (&).
7.1. fcbcre.asm ASMLIB. , NORTON .
7.2. :
INCLUDE D:macro.lib
:
ASSUME.................
.................
.................
MOV ES,AX
:
INIT CODESG,DATASG,STACKSG
REP STOSW D10PROC :
STOE W
macro.ib PROMPT. macro.ib :
STOE MACRO TAG
REP STOS&TAG
ENDM
7.3. fcbcre.asm. NORTON. .
8. : REPT, IRP, IRPC.
8.1. allasc.asm ASMLIB. , NORTON .
8.2. D10DISP allasc.asm :
D10DISP PROC
MOV CX,256;256
D20: REPT 5
LEA DX,CTR; D20
MOV AH,09;-