1.PUBLIC伪指令
格式:PUBLIC 符号 [,符号]
功能:说明其后的符号是全局符号。全局符号能被其他模块引用。
2.EXTRN伪指令
格式:EXTRN 符号:类型 [,符号:类型]
功能:说明在本模块中需要引用的、由其他模块定义的符号,即外部符号。
【例4.17】用模块化程序设计方法建立两个模块MOD1 ASM和MOD2 ASM的数据通讯。
NAME MOD1
EXTRN DISP:FAR
PUBLIC STR1,N ,BUF
DATA1 SEGMENT
STR1 DB‘HOW DO YOU DO?’
N =$-STR1
BUF DB‘THIS IS AN EXAMPLE OF MODULES PROGRAM $′
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE1 SEGMENT
ASSUME CS:CODE1,DS:DATA1,SS:STACK
START: MOV AX,DATA
MOV DS,AX
CALL DISP
MOV AH,4CH
INT 21H
CODE1 ENDS
END START
NAME MOD2
EXTRN STR1:BYTE,STR2:BYTE,N:ABS
PUBCIC DISP
DATA2 SEGMENT
STR2 DB 81 DUP(0)
DATA2 ENDS
CODE2 SEGMENT
ASSUME CS:CODE2,ES:DATA2
DISP PROC FAR
MOV AX,DATA2
MOV ES,AX
LEA BX,STR1
MOV CX,N
LEA SI,STR2
NEXT: MOV AL,[BX]
MOV ES:[SI],AL
INC BX
INC SI
LOOP NEXT
LEA DX,BUF
MOV AH,9
INT 21H
RET
DISP ENDP
CODE2 ENDS
END


