The INCLUDE, MAKEFILE, SYSADATA, SYSLIB, SYSLIN, SYSPRINT, SYSPUNCH and SYSTERM option parameters and the X390LIB and X390INI environment variable values may all contain variable symbols which are replaced with parts of the first source files path name. The variables are &D, &F and &E which are replaced with the directory, file name, and final extension of the first source file specified on the command line. These variables must be specified in upper case. If any of these variables are used in any option or environment variable, a source file name is required on the command line.
The directory name is considered to be the part of the path name preceding and including the final slash. If the path name on the command line does not contain a slash, the &D variable will be replaced with a zero-length string. The &F variable will be replaced with the part of the path name between the final slash and the final period in the path name. The extension is considered to be the part of the path name after and including the final period after the final slash (if any) in the path name. If the path name does not contain a period after the directory name, the &E variable will be replaced with a zero-length string.
For example, if the first source file specified on the assembler command line is myprog.asm and the SYSPRINT(&D&F.lst) option is set, the listing file name will be myprog.lst. As another example, if the first source file name is specified as C:\myproject\myprog.asm and the SYSLIB(&D*.MAC) option is set, macro references will result in searches for file names in the pattern C:\myproject\macro.MAC.
In addition to the &D, &F and &E variables, the INCLUDE and SYSLIB option parameters and the X390LIB and X390INI environment variables may contain an &X variable. The &X variable will be replaced with the name of the directory (including the ending slash) which contains the x390 program.
Note: The ampersand is a special character for the
command line of Windows NT and UNIX. Any option containing an
ampersand must be surrounded by quotes. Also Windows NT does not
strip quotes from the value of the SET command. Since ampersands must be
surrounded by quotes, the assembler will strip double quotes from each file
name in the X390INI value and from each pattern in the
For example, the X390INI value could be set as: