$DEBUG PAGELENGTH(50) /***********************/ /* */ /* E X $ L I N K 8 6 */ /* */ /***********************/ M$EX$LINK86: DO; $NOLIST $INCLUDE(COMMON.DCL) $INCLUDE(ISIS.DCL) $INCLUDE(:F1:ISISIO.DCL) $INCLUDE(STRING.DCL) $LIST GET$FNAME: PROCEDURE(NAME$P,TYPE,WILDCARD,NULLNAME,EXTPNT) EXTERNAL; DECLARE NAME$P ADDRESS, TYPE BYTE, WILDCARD BOOLEAN, NULLNAME BOOLEAN, EXTPNT BOOLEAN; END GET$FNAME; DECLARE MSG$FILL$IN(1) BYTE EXTERNAL; DECLARE MSG$OPTIONS(1) BYTE EXTERNAL; DECLARE MSG$FILE$OR$RETURN(1) BYTE EXTERNAL; DECLARE MSG$CLR$AFTER$FNAME(1) BYTE EXTERNAL; DECLARE ( ECOMP1, ECOMP5, ECOMP6 ) STRING EXTERNAL; /************************************************/ /* */ /* OPERATION : */ /* Get input file names. Input list is */ /* ended when a null name is entered. */ /* */ /************************************************/ EX$LINK86: PROCEDURE (COM$LINE$P,COM$TYPE$P) PUBLIC; DECLARE COM$LINE$P ADDRESS, COM$TYPE$P ADDRESS; DECLARE (COM$LINE BASED COM$LINE$P) STRING, (COM$TYPE BASED COM$TYPE$P) BYTE; DECLARE NAME STRUCTURE( ML ADDRESS, L ADDRESS, D(15) BYTE ); DECLARE COMP1 STRUCTURE( ML ADDRESS, L ADDRESS, D(12) BYTE ) DATA (11,11,'RUN LINK86 ',0); DECLARE I BYTE; DECLARE MSG1(*) BYTE DATA( LF, '--- LINK86 8086 / 8087 / 8088 OBJECT FILES ---',CR,LF, LF, ' INPUT FILES',CR,LF, 0); CALL MSG$OUT(.MSG$FILL$IN); CALL MSG$OUT(.MSG1); COM$LINE.L=0; CALL APPEND$S(.COM$LINE,.COMP1); NAME.L=1; DO WHILE NAME.L>0; CALL MSGOUT(.MSG$FILE$OR$RETURN); CALL GET$FNAME(.NAME,1,FALSE,TRUE,FALSE); IF NAME.L>0 THEN DO; CALL APPEND$S(.COM$LINE,.ECOMP1); CALL APPEND$S(.COM$LINE,.NAME); CALL APPEND$S(.COM$LINE,.ECOMP6); CALL MSG$OUT(.MSG$CLR$AFTER$FNAME); END; END; COM$LINE.L=COM$LINE.L-1; CALL APPEND$S(.COM$LINE,.ECOMP5); CALL MSG$OUT(.(CLR$SCRN,0)); COM$TYPE=2; END EX$LINK86; END M$EX$LINK86;