Implementation Differences
There are a few other differences between IBM High Level Assembler
and the Tachyon 390 Cross Assembler
or the Tachyon z/Assembler,
noted as follows:
-
- The IBM High Level Assembler implementation of checking for
the assembler types of GR32 vs. GR64 is practically useless, so
the Tachyon assemblers treat the assembler types of GR32 and GR64
as if GR was specified.
Likewise, CR32 and CR64 are treated as if CR was specified.
-
- The IBM High Level Assembler has limits on the complexity of
expressions, including the number of parentheses and operators.
The Tachyon assemblers have no such limits, other than memory.
-
- The external name in the label field of the CSECT, COM, DSECT, DXD,
RSECT and START instructions, the operands of the ENTRY, EXTRN and WXTRN
instructions, and the nominal values of Q-type, J-type, R-type and V-type constants
may be more than eight characters long if there is a valid associated
ALIAS instruction or if the OBJECT(XOBJ),
OBJECT(GOFF) or OBJECT(ELF) option is set.
ALIAS names may be up to 32767 characters long if the OBJECT(GOFF) or OBJECT(ELF) option is set.
ALIAS names may also be up to 32767 characters long if the OBJECT(XOBJ) option is set
and the TEST(LONG) option is not set.
If OBJECT(XOBJ) is used with TEST(LONG), external symbol names may be
up to 63 characters long.
If the ADATA or OBJECT(GOFF,ADATA) options are set,
external names will be limited to fit within the ADATA record size.
-
- The Tachyon assemblers use the same algorithm to compute the
assembled values of E, D and L constants as they do to compute those of
EH, DH and LH values.
The IBM High Level Assembler uses an older algorithm for E, D and L
constants that does not produce as accurate results as the algorithm
it uses for EH, DH and LH constants.
For all known cases, the Tachyon assemblers generate the same
results as produced by the IBM High Level Assembler for EH, DH and LH constants.
-
- The IBM and Tachyon assemblers use different
methods to resolve the lengths of data items that are dependent on values
defined later in the assembly. As a result there are a few cases where
the IBM and Tachyon assemblers are able to resolve forward length
references that the other assembler cannot.
-
- The first definition
encountered during look-ahead is used for the purposes of resolving the
reference, even if the definition would not have been generated due to
conditional assembly instructions.
-
- Sequence symbols in open code may only be referenced by AIF and AGO
instructions in the same source file or copy member.
Frames No Frames Previous Next Contents
Introduction Setup Running Options Macros Translation Compatibility Messages
© Copyright 1999-2005, Tachyon
Software® LLC.
Last modified on October 1, 2005