This chapter describes each of the assembler options. The interaction between the OBJECT(ELF) option and the PROCESS(GAS) option and the other options is described in Appendix E. The interaction of the tas program and the options is described in Appendix F.
Options are processed from various sources in the following order, with later options overriding prior settings:
Format code V specifies that the record length prefix will be an IBM-standard variable length Record Descriptor Word (RDW), which is a four-byte field with the first two bytes containing the record length including the RDW.
Format code U specifies that the record length prefix will be a two-byte RDW containing the the record length exclusive of the RDW itself.
Format code N specifies that no record prefix will be added. This is the format required for the associated data file to be read by IBMs Assembler Program Understanding Tool (ASMPUT) from the HLASM Toolkit Feature.
Format code G specifies that the records should be written in GOFF format. The GOFF format allows the ADATA records to be written as 80-byte fixed length segments, which are easy to upload to the mainframe.
The INCLUDE option parameter string is a list of one or more option file names. Each file name must be separated from the previous by the normal path separator character: a semicolon for Windows and a colon for UNIX. The option files are read in the order specified. The option files may themselves contain INCLUDE options, allowing the option files to be nested, however recursive INCLUDE options are not allowed. The &D, &F, &E and &X option variables may be included in the INCLUDE parameter string.
LINEWIDTH(CR), LINEWIDTH(LF), and LINEWIDTH(NL) specify that the assembly listing is to be created in ASCII with the specified line delimiters. CR specifies that the line delimiter is the carriage return character (X'0D') as is normal for Macintosh systems. LF specifies the delimiter as the line feed character (X'0A') as is normal for UNIX systems. NL specifies that both the carriage return and line feed characters will be used to terminate lines as is normal for Windows systems. These ASCII options must only be used with PRINTCTL(ASA), PRINTCTL(NL), PRINTCTL(FF), or PRINTCTL(HP).
MACHINE set | OPTABLE set |
---|---|
S370 | 370 |
S370XA | XA |
S370ESA | ESA |
S390 | ESA |
S390ESA | ESA |
ZSERIES | ZOP |
ZS | ZOP |
ZSERIES-2 | YOP |
ZS-2 | YOP |
ZSERIES-3 | ZS3 |
ZS-3 | ZS3 |
ZSERIES-4 | ZS4 |
ZS-4 | ZS4 |
MSGLEVEL(0) is the default for the second and subsequent assemblies invoked via the txa command line interface.
Through the ALIAS statement, the Tachyon assemblers allow external names to be up to 32767 characters long when the XOBJ, GOFF or ELF format is specified; unless XOBJ is specified with TEST(LONG), in which case external names up to 63 characters are allowed. If the ADATA or OBJECT(GOFF,ADATA) options are specified, external names will be limited to fit within the ADATA record length.
OBJECT(GOFF) instructs the assembler to process CATTR and XATTR statements and J-type and R-type constants. OBJECT(GOFF) may be specified with the ADATA or NOADATA parameter, which instructs the assembler whether or not to include ADATA information in the object file. If not specified, the default is NOADATA. OBJECT(GOFF) will cause the TEST option to be ignored.
OBJECT(OMF) may be specified as OBJECT. OBJECT(DECK) may be specified as DECK. OBJECT(GOFF) may be specified through the GOFF. or XOBJECT options. The name of the object file is specified by the SYSLIN option and the name of the punch deck file is specified by the SYSPUNCH option.
The OBJECT(DECK), OBJECT(OMF) and OBJECT(XOBJ) options are available with both the Tachyon 390 Cross Assembler and the Tachyon z/Assembler. The OBJECT(GOFF) and OBJECT(ELF) options are only available with the Tachyon z/Assembler.
The set code may be abbreviated using the first letter, except for 370 which may be abbreviated as 7, ZS3 which may be abbreviated as 3, and ZS4 which may be abbreviated as 4. The ZOP, YOP, ZS3 and ZS4 instruction sets are only available with the Tachyon z/Assembler.
PRINTCTL(MCH) specifies that the assembly listing is to be created in EBCDIC with machine carriage control characters. It must only be used with the EBCDIC options LINEWIDTH(number) or LINEWIDTH(V). PRINTCTL(MCH) may also be specified as NOASA.
PRINTCTL(NL), PRINTCTL(FF), and PRINTCTL(HP) specify that the assembly listing is to be created in ASCII, unless PRINTCTL(NL) or PRINTCTL(FF) are specified with LINEWIDTH(USS), in which case the assembly listing will be created in EBCDIC. The NL option indicates that blank lines will be generated to the end of each page, whereas FF indicates that the form feed character (X'0C') may be used to skip to the start of a new page. The HP option indicates that control codes for Hewlett-Packard PCL should be generated. These options must only be used with the ASCII options LINEWIDTH(CR), LINEWIDTH(LF) and LINEWIDTH(NL), unless PRINTCTL(NL) or PRINTCTL(FF) are specified with LINEWIDTH(USS). See the section entitled Controlling the Listing Paper Size for the interaction of the LINECOUNT and PRINTCTL(HP) options.
If the maximum value is greater than the minimum value, each control section alignment will be set to the maximum alignment specified by any CNOP, DC, DS or ORG statement or generated literal within the section. Any alignment requested within a control section that is greater than the maximum SECTALGN value will be flagged with a warning message.
The &D, &F, &E, and &X option variables may be included in the SYSLIB parameter string. In addition, the &S variable may be used to prevent a new SYSLIB option from completely replacing the previous value for the option. The &S variable is replaced by the previous SYSLIB option value, if any. Thus, to append a new list of path patterns in front of the previous list, add the &S variable to the end of the new SYSLIB parameter.
TERM(INNER) specifies that the reference to the actual statement in error will be written to SYSTERM. TERM(OUTER) specifies that if the statement in error is within a macro expansion, the reference will be to the outermost macro call statement instead of the statement in error. TERM(SOURCE) is the same as TERM(OUTER), unless the outermost macro call statement is within a COPY member, in which case the reference will be to the outermost COPY statement. TERM(SOURCE) is useful for inserting messages into a source file when the assembler is invoked by an editor. Since most errors within macros are caused by errors in the outermost macro call statement, TERM(OUTER) usually provides more valuable information than TERM(INNER). More than one of SOURCE, OUTER and INNER may be specified for the TERM option and if more than one is specified, the unique selected reference information will be written to SYSTERM.
TERM(MICROSOFT) causes the assembler to produce error messages that are similar in format to the current Microsoft standard. Since this format only allows one source statement reference, TERM(MICROSOFT) must be specified with one of: SOURCE, INNER or OUTER.
TERM(EVENT) causes the assembler to produce error messages in the IBM EVENT file format generated by some IBM compilers. This format is usable by IBMs VisualAge TPF for Windows NT.
If TERM, TERM(WIDE) or TERM(NARROW) is specified, the TERM(OUTER,INNER) option will be set. The TERM(BOTH) option is provided for compatibility with previous assembler releases and is an alias for TERM(SOURCE,INNER).
If TEST(XDC) is specified, the SYM records produced will be compatible with the XDC debugger from Cole Software. The XDCSYMED program need not be run against the object file prior to linking. If TEST(XDC) is specified, the assembler recognizes the SYMDEL, SYMUNDEL, and SYMNODEL DSECTs as options to control the production of SYM data. Whenever a SYMDEL DSECT statement is encountered, SYM data generation is suspended. A SYMUNDEL DSECT statement decrements the count of nested SYMDEL DSECT statements and if the count reaches zero, SYM data generation is resumed. A SYMNODEL DSECT statement unconditionally sets the count to zero and resumes SYM data generation.
If TEST(LONG) is specified, special SYM records will be produced for names longer than 8 characters. These records are understood by XDC release 3.2 (maintenance level X32-9701D) or later. TEST(LONG) includes the functions of TEST(XDC). TEST(LONG) will also generate mixed-case symbol names and ALIAS names up to 63 characters long.
If TYPECHECK is specified without options, it is equivalent to TYPECHECK(MAGNITUDE). NOTYPECHECK is equivalent to TYPECHECK(NOMAGNITUDE,NOREGISTER).
The sample options file, x390.ini, provided with the product contains a translation table. This file may need to be modified to better match the file transfer software that you use. The default table may also be modified at run time by using options in the form of: XX=YY, where XX is the hexadecimal code (00-FF) of an ASCII character and YY is the hexadecimal code of the corresponding EBCDIC character. You may also specify XX= (omitting the EBCDIC character), which will disable an existing translation.
You may add, change, or disable the translations for any characters except for X'00' and the characters in the assembler's Standard Character Set. The unmodifyable translation table is:
00=00 20=40 23=7B 24=5B 26=50 27=7D 28=4D 29=5D 2A=5C 2B=4E 2C=6B 2D=60 2E=4B 2F=61 30=F0 31=F1 32=F2 33=F3 34=F4 35=F5 36=F6 37=F7 38=F8 39=F9 3A=7A 3D=7E 40=7C 41=C1 42=C2 43=C3 44-C4 45=C5 46=C6 47=C7 48=C8 49=C9 4A=D1 4B=D2 4C=D3 4D=D4 4E=D5 4F=D6 50=D7 51=D8 52=D9 53=E2 54=E3 55=E4 56=E5 57=E6 58=E7 59=E8 5A=E9 5F=6D 61=81 62=82 63=83 64=84 65=85 66=86 67=87 68=88 69=89 6A=9D 6B=92 6C=93 6D=94 6E=95 6F=96 70=97 71=98 72=99 73=A2 74=A3 75=A4 76=A5 77=A6 78=A7 79=A8 7A=A9
Using the ASCII translation options will disable the CODEPAGE option. Likewise, setting the CODEPAGE option will override any prior use of the ASCII translation options.