as: ESA/390 Syntax
1
1 9.14.3 Syntax
1 -------------
1
1 The opcode/operand syntax follows the ESA/390 Principles of Operation
1 manual; assembler directives and general syntax are loosely based on the
1 prevailing AT&T/SVR4/ELF/Solaris style notation. HLASM-style directives
1 are _not_ supported for the most part, with the exception of those
1 described herein.
1
1 A leading dot in front of directives is optional, and the case of
1 directives is ignored; thus for example, .using and USING have the same
1 effect.
1
1 A colon may immediately follow a label definition. This is simply
1 for compatibility with how most assembly language programmers write
1 code.
1
1 '#' is the line comment character.
1
1 ';' can be used instead of a newline to separate statements.
1
1 Since '$' has no special meaning, you may use it in symbol names.
1
1 Registers can be given the symbolic names r0..r15, fp0, fp2, fp4,
1 fp6. By using these symbolic names, 'as' can detect simple syntax
1 errors. The name rarg or r.arg is a synonym for r11, rtca or r.tca for
1 r12, sp, r.sp, dsa r.dsa for r13, lr or r.lr for r14, rbase or r.base
1 for r3 and rpgt or r.pgt for r4.
1
1 '*' is the current location counter. Unlike '.' it is always
1 relative to the last USING directive. Note that this means that
1 expressions cannot use multiplication, as any occurrence of '*' will be
1 interpreted as a location counter.
1
1 All labels are relative to the last USING. Thus, branches to a label
1 always imply the use of base+displacement.
1
1 Many of the usual forms of address constants / address literals are
1 supported. Thus,
1 .using *,r3
1 L r15,=A(some_routine)
1 LM r6,r7,=V(some_longlong_extern)
1 A r1,=F'12'
1 AH r0,=H'42'
1 ME r6,=E'3.1416'
1 MD r6,=D'3.14159265358979'
1 O r6,=XL4'cacad0d0'
1 .ltorg
1 should all behave as expected: that is, an entry in the literal pool
1 will be created (or reused if it already exists), and the instruction
1 operands will be the displacement into the literal pool using the
1 current base register (as last declared with the '.using' directive).
1