 TITLE CALLER (EXE) call subprogram to SUBP
       EXTRN  SUBP:FAR
;------------------------------------------
STACKSG	SEGMENT PARA STACK 'STACK'
	DW  100 DUP(?)
STACKSG	ENDS
;------------------------------------------
DATASG	SEGMENT PARA 'DATA'
 DATAX	DW  10
 DATAY  DW  5
 DATAZ  DD  ?
DATASG	ENDS
;------------------------------------------
CODESG	SEGMENT PARA 'CODE'
MAIN	PROC	FAR
	ASSUME CS:CODESG,DS:DATASG,SS:STACKSG

	PUSH	DS
	SUB	AX,AX
	PUSH	AX
	MOV	AX,DATASG
	MOV	DS,AX
	MOV	AX,DATAX
	MOV	BX,DATAY
	CALL	SUBP
	MOV	WORD PTR DATAZ,AX
	MOV	WORD PTR DATAZ+2,DX
	RET

MAIN	ENDP
CODESG	ENDS
	END	MAIN
