Assembler instruction syntax is not described in the HLASM reference. You are
describing various methods for calculating offset, base and index. Only POPS
tells you about the syntax. Assume you don't know the LH instruction and don't
have the POPS. Using only the HLASM manuals, what is wrong with LH R3,R1? A
true HLASM programmer relies heavily on POPS.
On Wednesday, June 28, 2023 at 03:03:01 PM PDT, Seymour J Metz
<[email protected]> wrote:
The HLASM Reference describes assembler syntax; PoOps just says what the
fields are. Consider
LH R3,SYSPRINT+DCBLRECL-IHADCB(R4)
USING SYSPRINT
LH R3,DCBLRECL
Both of these use things that aren't in PoOps. And, no, I'm not talking about
the DCBD expansion.
________________________________________
From: IBM Mainframe Assembler List <[email protected]> on behalf
of Jon Perryman <[email protected]>
Sent: Wednesday, June 28, 2023 5:44 PM
To: [email protected]
Subject: Re: Variable symbol without leading &
Seymour, you said that POPS does not explain how to symbolically encode
instructions. What other manual tells you how to code instructions? Tell us
where the MVC instruction is documented outside of the POPS? I used PLO as an
example because anyone can code MVC without looking at the manual. if the POPS
incomplete, then contact IBM to correct the POPS. For me, PLO was adequately
described for using it correctly. On Wednesday, June 28, 2023 at 02:21:25 PM
PDT, Seymour J Metz <[email protected]> wrote:
Water is wet. There is no need to refute claims that nobody made.
PLO? PoOps describes the layout of the data, not the DCs needed to generate
them.
________________________________________
From: IBM Mainframe Assembler List <[email protected]> on behalf
of Jon Perryman <[email protected]>
Sent: Wednesday, June 28, 2023 5:11 PM
To: [email protected]
Subject: Re: Variable symbol without leading &
If the POPS does not explain how to symbolically code each instruction, then
point us to the manual that does. For instance, what manual tells me how to
code the PLO instruction with multiple syntax variations. As for pseudo-ops,
they do not generate machine code but instead are assembler control statements
(e.g. eject). As for mnemonics, only a few are specifically documented in the
HLASM reference (e.g. BNZ and JNZ). The vast majority of mnemonics are macro's
documented in product specific manuals and to a small extent OPSYN. The classic
example is the toolkit replacing branch instructions with jump instructions.
On Wednesday, June 28, 2023 at 11:11:41 AM PDT, Seymour J Metz
<[email protected]> wrote:
No, PoOps is an architecture manual. It explains instruction formats and
semantics; it does not explain how to symbolically encode them, much less
explaining all of the pseud-ops.
________________________________________
From: IBM Mainframe Assembler List <[email protected]> on behalf
of Charles Mills <[email protected]>
Sent: Wednesday, June 28, 2023 2:03 PM
To: [email protected]
Subject: Re: Variable symbol without leading &
The "other manual" for the Assembler is Principles of Operation.
If you want to know how COBOL MOVE works, you look at the COBOL Language
Reference.
But if you want to know how MVC works, you don't look at an assembler manual,
you look at Principles.
Charles
-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: [email protected]
Subject: Re: Variable symbol without leading &
Jon,
I've heard others make that remark before: HLASM is actually two languages.
I find the distinction rather arbitrary - both aspects of HLASM are
intimately interconnected.
As Mr. Metz correctly remarked, there is only a single Language
Reference Manual for HLASM.