Re: Variable symbol without leading

2023-06-28 Thread Jon Perryman
 What page in the HLASM ref are you referring? I only asked you to show some 
evidence you are right but you continue to refuse.
You've told me that application programs can be more complicated than system 
programs. What at the IRS is so complicated that it needs 8 assembler 
programmers? What makes it difficult for these programs to be written in cobol? 
What is it that you do that is more complex than a basic assembler program?
ROTF,LMAO
 On Wednesday, June 28, 2023 at 07:16:23 PM PDT, Seymour J Metz 
 wrote:  
 
 ROTF,LMAO


From: IBM Mainframe Assembler List  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 10:06 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

 Addressability is only documented in the POPS (and the addressability 
publication). Not HLASM. Show us the page in the HLASM reference that tells us 
about addressability (not the simple base/offset calculations in the addressing 
section). Show us where in HLASM ref from 2004 
https://publibz.boulder.ibm.com/epubs/pdf/asmr1010.pdf that it documents 
instruction syntax for AR mode, primary, secondary, shared memory, access 
registers, 64 bit addressing, instructions specific to addressability, 
authorization and much more. As for expressions, this has nothing to do with 
addressability and everything to do with calculating base reg and offset. Show 
us in the HLASM ref that it is anything different.    On Wednesday, June 28, 
2023 at 05:31:33 PM PDT, Seymour J Metz  wrote:

 Whoosh!

Lots of l\luck finding information on expressions and addressability in PoOps.


From: IBM Mainframe Assembler List  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 7:09 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

 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 
 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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:44 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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  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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:11 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 
 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  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 La

Re: Variable symbol without leading

2023-06-28 Thread Tom Marchant
Yes, there is a single language reference for HLASM (including macros).
Yes, other manuals are needed to do effective HLASM programming.
The POO is one of these other manuals.
So are the Assembler Services reference manuals and guide.
The Authorized Assembler guide and References.
DFSMS Using Data sets
Extended Addressability Guide
just to name some that come immediately to mind.

-- 
Tom Marchant

On Wed, 28 Jun 2023 11:03:20 -0700, Charles Mills  wrote:

>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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
>Behalf Of Abe Kornelis
>Sent: Wednesday, June 28, 2023 10:38 AM
>To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
>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.


Re: Variable symbol without leading

2023-06-28 Thread Jon Perryman
 I agree with you Phil about C macro language being abysmal. The only thing 
worse is Google's GO language which does not have macros. HLASM macro language 
should have been replaced years ago with REXX but as it stands, it's still 
extremely useful. Imagine coding a complex DCB in C or worse yet GO.
On Wednesday, June 28, 2023 at 06:23:08 PM PDT, Phil Smith III 
 wrote:  
 
 Beyond all the fighting here, just be glad the assembler macro language is so 
powerful. Every time I have to do something in C that call out for a macro, I'm 
appalled at how pathetic that language is!
  


Re: Variable symbol without leading

2023-06-28 Thread Seymour J Metz
ROTF,LMAO


From: IBM Mainframe Assembler List  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 10:06 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

 Addressability is only documented in the POPS (and the addressability 
publication). Not HLASM. Show us the page in the HLASM reference that tells us 
about addressability (not the simple base/offset calculations in the addressing 
section). Show us where in HLASM ref from 2004 
https://publibz.boulder.ibm.com/epubs/pdf/asmr1010.pdf that it documents 
instruction syntax for AR mode, primary, secondary, shared memory, access 
registers, 64 bit addressing, instructions specific to addressability, 
authorization and much more. As for expressions, this has nothing to do with 
addressability and everything to do with calculating base reg and offset. Show 
us in the HLASM ref that it is anything different.On Wednesday, June 28, 
2023 at 05:31:33 PM PDT, Seymour J Metz  wrote:

 Whoosh!

Lots of l\luck finding information on expressions and addressability in PoOps.


From: IBM Mainframe Assembler List  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 7:09 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

 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 
 wrote:

 The HLASM Reference describes assembler syntax; PoOps just says what the 
fields are. Consider

LHR3,SYSPRINT+DCBLRECL-IHADCB(R4)

USING SYSPRINT
LHR3,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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:44 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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  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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:11 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 
 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  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 - bo

Re: Variable symbol without leading

2023-06-28 Thread Jon Perryman
 Addressability is only documented in the POPS (and the addressability 
publication). Not HLASM. Show us the page in the HLASM reference that tells us 
about addressability (not the simple base/offset calculations in the addressing 
section). Show us where in HLASM ref from 2004 
https://publibz.boulder.ibm.com/epubs/pdf/asmr1010.pdf that it documents 
instruction syntax for AR mode, primary, secondary, shared memory, access 
registers, 64 bit addressing, instructions specific to addressability, 
authorization and much more. As for expressions, this has nothing to do with 
addressability and everything to do with calculating base reg and offset. Show 
us in the HLASM ref that it is anything different.On Wednesday, June 28, 
2023 at 05:31:33 PM PDT, Seymour J Metz  wrote:  
 
 Whoosh!

Lots of l\luck finding information on expressions and addressability in PoOps.


From: IBM Mainframe Assembler List  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 7:09 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

 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 
 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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:44 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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  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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:11 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 
 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  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.



  


Re: Variable symbol without leading

2023-06-28 Thread Phil Smith III
Beyond all the fighting here, just be glad the assembler macro language is so 
powerful. Every time I have to do something in C that call out for a macro, I'm 
appalled at how pathetic that language is!


Re: Variable symbol without leading

2023-06-28 Thread Seymour J Metz
ObDieJungfrauvonOrleansRepeating that won't make it true. The syntax of 
expressions is described in the HLASM reference, *NOT* in PoOps, and describing 
it as "various methods for calculating" does not magically stop it from being 
syntax.




From: IBM Mainframe Assembler List  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 7:09 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

 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 
 wrote:

 The HLASM Reference describes assembler syntax; PoOps just says what the 
fields are. Consider

LHR3,SYSPRINT+DCBLRECL-IHADCB(R4)

USING SYSPRINT
LHR3,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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:44 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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  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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:11 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 
 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  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.





Re: Variable symbol without leading

2023-06-28 Thread Seymour J Metz
Whoosh!

Lots of l\luck finding information on expressions and addressability in PoOps.


From: IBM Mainframe Assembler List  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 7:09 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

 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 
 wrote:

 The HLASM Reference describes assembler syntax; PoOps just says what the 
fields are. Consider

LHR3,SYSPRINT+DCBLRECL-IHADCB(R4)

USING SYSPRINT
LHR3,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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:44 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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  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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:11 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 
 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  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.





Re: Variable symbol without leading

2023-06-28 Thread Jon Perryman
 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 
 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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:44 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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  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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:11 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 
 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  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.


  


Re: Variable symbol without leading

2023-06-28 Thread Seymour J Metz
The HLASM Reference describes assembler syntax; PoOps just says what the fields 
are. Consider

 LHR3,SYSPRINT+DCBLRECL-IHADCB(R4)

 USING SYSPRINT
 LHR3,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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:44 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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  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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:11 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 
 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  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.




Re: Variable symbol without leading

2023-06-28 Thread Jon Perryman
 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  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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:11 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 
 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  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.

  


Re: Variable symbol without leading

2023-06-28 Thread Seymour J Metz
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  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 5:11 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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 
 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  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.



Re: Variable symbol without leading

2023-06-28 Thread Jon Perryman
 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 
 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  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.
  


Re: Variable symbol without leading

2023-06-28 Thread Seymour J Metz
I  don't want to believe it, but, alas, I do.


From: IBM Mainframe Assembler List  on behalf 
of Paul Gilmartin <0014e0e4a59b-dmarc-requ...@listserv.uga.edu>
Sent: Wednesday, June 28, 2023 3:00 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

On 6/28/23 12:23:03, Seymour J Metz wrote:
> Then it's a good thing that "exclusively" came from you, not from me. For 
> your information, I *have* encountered people who write HLASM for a living 
> and have no idea how the instructions are actually encoded.

... and they ask how they can eliminate that distracting stuff
on the left of the SYSPRINT.

--
gil


Re: Variable symbol without leading

2023-06-28 Thread Paul Gilmartin

On 6/28/23 12:23:03, Seymour J Metz wrote:

Then it's a good thing that "exclusively" came from you, not from me. For your 
information, I *have* encountered people who write HLASM for a living and have no idea 
how the instructions are actually encoded.


... and they ask how they can eliminate that distracting stuff
on the left of the SYSPRINT.

--
gil


Re: Variable symbol without leading

2023-06-28 Thread Seymour J Metz
Then it's a good thing that "exclusively" came from you, not from me. For your 
information, I *have* encountered people who write HLASM for a living and have 
no idea how the instructions are actually encoded.


From: IBM Mainframe Assembler List  on behalf 
of Charles Mills 
Sent: Wednesday, June 28, 2023 2:18 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

If you met someone who said he wrote Z assembler for a living, you would not
think that he exclusively dealt in USING and SPACE and LCLC. You would
assume he would know how MVC worked. Where do you suppose he would have
gotten that knowledge?

YES, Principles is an architecture manual. I did not say it wasn't. I stand
by what I DID say.

Charles


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: Wednesday, June 28, 2023 11:12 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

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  on
behalf of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.


Re: Variable symbol without leading

2023-06-28 Thread Charles Mills
If you met someone who said he wrote Z assembler for a living, you would not
think that he exclusively dealt in USING and SPACE and LCLC. You would
assume he would know how MVC worked. Where do you suppose he would have
gotten that knowledge?

YES, Principles is an architecture manual. I did not say it wasn't. I stand
by what I DID say.

Charles


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: Wednesday, June 28, 2023 11:12 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

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  on
behalf of Charles Mills 
Sent: Wednesday, June 28, 2023 2:03 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.


Re: Variable symbol without leading

2023-06-28 Thread Charles Mills
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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Abe Kornelis
Sent: Wednesday, June 28, 2023 10:38 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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.


Re: Variable symbol without leading

2023-06-28 Thread Abe Kornelis
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.
I think that's for a very good reason. Try to split that manual into two
separate ones,
you'll find yourself facing boundary cases and many references between
the two manuals.

Kind regards,
Abe
===


Op 28/06/2023 om 19:07 schreef Jon Perryman:
>  Assembler language and Assembler Macro language are 2 separate languages & 
> manuals. Both have variables and symbols but they are very different in 
> concept. In Assembler, symbols have a diverse use, one of which is variable 
> names. On the other hand in the macro language, symbols and variables are not 
> related at all. The only macro symbol that comes to mind is sequence symbols 
> (e.g. AGO .SYMBOL). Because of the period, a macro variable name cannot 
> become a symbol. If I remember correctly, in certain situations, a sequence 
> symbol can include a variable (e.g. ago .LABEL).
>
> As for omitting the & in variable declarations, don't do it to be consistent. 
> IBM can't change this behavior in the Macro language because it would break 
> existing code.
>
> Moral of the story, treat Assembler and Macros as 2 separate languages. There 
> are a couple of situations where the distinction becomes a little blurred but 
> it's usually obvious.On Wednesday, June 28, 2023 at 07:46:55 AM PDT, 
> Seymour J Metz  wrote:  
>  
>  Yes, it's legal, no, it's not an ordinary symbol in a [LCL|GBL]x, and yes, 
> it's confusing. IMHO it would have been better to accept it but issue a 
> warning.
>
> 
> From: IBM Mainframe Assembler List  on 
> behalf of Joseph Reichman 
> Sent: Wednesday, June 28, 2023 10:09 AM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: Variable symbol without leading &
>
> Hi
> Just looked at the doc for LCLC says for variable symbol says can be with or 
> with out leading &
>
> I did try to assemble a symbol without leading & and it did a assemble 
> however I would think without the leading & it’s an ordinary symbol
>
> However when I tried to do a SETC against it I got a assembly error
>
> So my question becomes if you  can declare a variable symbol without a 
> leading &
> But cannt SETC what can it be used for
>   


Re: Variable symbol without leading

2023-06-28 Thread Seymour J Metz
No; they have the same manuals. Yes, ordinary symbols, sequence symbols, set 
symbols and system variable symbols are different things.


From: IBM Mainframe Assembler List  on behalf 
of Jon Perryman 
Sent: Wednesday, June 28, 2023 1:07 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Variable symbol without leading &

 Assembler language and Assembler Macro language are 2 separate languages & 
manuals. Both have variables and symbols but they are very different in 
concept. In Assembler, symbols have a diverse use, one of which is variable 
names. On the other hand in the macro language, symbols and variables are not 
related at all. The only macro symbol that comes to mind is sequence symbols 
(e.g. AGO .SYMBOL). Because of the period, a macro variable name cannot become 
a symbol. If I remember correctly, in certain situations, a sequence symbol can 
include a variable (e.g. ago .LABEL).

As for omitting the & in variable declarations, don't do it to be consistent. 
IBM can't change this behavior in the Macro language because it would break 
existing code.

Moral of the story, treat Assembler and Macros as 2 separate languages. There 
are a couple of situations where the distinction becomes a little blurred but 
it's usually obvious.On Wednesday, June 28, 2023 at 07:46:55 AM PDT, 
Seymour J Metz  wrote:

 Yes, it's legal, no, it's not an ordinary symbol in a [LCL|GBL]x, and yes, 
it's confusing. IMHO it would have been better to accept it but issue a warning.


From: IBM Mainframe Assembler List  on behalf 
of Joseph Reichman 
Sent: Wednesday, June 28, 2023 10:09 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Variable symbol without leading &

Hi
Just looked at the doc for LCLC says for variable symbol says can be with or 
with out leading &

I did try to assemble a symbol without leading & and it did a assemble however 
I would think without the leading & it’s an ordinary symbol

However when I tried to do a SETC against it I got a assembly error

So my question becomes if you  can declare a variable symbol without a leading &
But cannt SETC what can it be used for



Re: Variable symbol without leading

2023-06-28 Thread Jon Perryman
 Assembler language and Assembler Macro language are 2 separate languages & 
manuals. Both have variables and symbols but they are very different in 
concept. In Assembler, symbols have a diverse use, one of which is variable 
names. On the other hand in the macro language, symbols and variables are not 
related at all. The only macro symbol that comes to mind is sequence symbols 
(e.g. AGO .SYMBOL). Because of the period, a macro variable name cannot become 
a symbol. If I remember correctly, in certain situations, a sequence symbol can 
include a variable (e.g. ago .LABEL).

As for omitting the & in variable declarations, don't do it to be consistent. 
IBM can't change this behavior in the Macro language because it would break 
existing code.

Moral of the story, treat Assembler and Macros as 2 separate languages. There 
are a couple of situations where the distinction becomes a little blurred but 
it's usually obvious.On Wednesday, June 28, 2023 at 07:46:55 AM PDT, 
Seymour J Metz  wrote:  
 
 Yes, it's legal, no, it's not an ordinary symbol in a [LCL|GBL]x, and yes, 
it's confusing. IMHO it would have been better to accept it but issue a warning.


From: IBM Mainframe Assembler List  on behalf 
of Joseph Reichman 
Sent: Wednesday, June 28, 2023 10:09 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Variable symbol without leading &

Hi
Just looked at the doc for LCLC says for variable symbol says can be with or 
with out leading &

I did try to assemble a symbol without leading & and it did a assemble however 
I would think without the leading & it’s an ordinary symbol

However when I tried to do a SETC against it I got a assembly error

So my question becomes if you  can declare a variable symbol without a leading &
But cannt SETC what can it be used for
  


Re: Variable symbol without leading

2023-06-28 Thread Abe Kornelis
Gil, all,

You suggest that a declaration for a variable with a leading ampersand
should have the variable name evaluated before it is actually declared.

Not only would that break most existing code (I do not recall ever having
seen a variable declaration without a leading ampersand), it would
also duplicate existing logic and syntax for created set symbols,
adding even more confusion than we already have.
Created set symbols use a different syntax to disambiguate them from
the proposed syntactical construct.

I do not _know_ why the ampersands on the variable declarations
can be omitted, but it probably relates to compatibility with
one or more of HLASM's predecessor assemblers.

Since it is pretty confusing to leave out the leading ampersand,
I would advise not to use this syntactical feature.
Stick with the ampersands. Life is complex enough as it is.

And if you need to declare created set symbols,
use the existing &() notation. Works like a charm :-)

Kind regards & happy programming!
Abe Kornelis
==


Op 28/06/2023 om 16:59 schreef Paul Gilmartin:
> On 6/28/23 08:17:20, Dave Clark wrote:
>> "IBM Mainframe Assembler List" wrote on
>> 06/28/2023 10:09:27 AM:
>>> Just looked at the doc for LCLC says for variable symbol says can be
>>> with or with out leading &
>>>
>>> However when I tried to do a SETC against it I got a assembly error
>>
>>  I believe that it means LCLC does not require the leading
>> ampersand but in all other uses the leading ampersand is required -- and
>> it is the same variable.
>
> That's gratuitous flexibility that adds no expressive power,
> but leads to confusion, as in the original ply.
>
> Rather, for consistency, symbols appearing as operands of
> LCLC should be evaluated:
>
>     SETC  '&'
>  LCLC  
>
> ... should declare  to be a local symbol.
>
> (What about LCLA and LCLB?)
>


Re: Variable symbol without leading

2023-06-28 Thread Paul Gilmartin

On 6/28/23 08:17:20, Dave Clark wrote:

"IBM Mainframe Assembler List" wrote on
06/28/2023 10:09:27 AM:

Just looked at the doc for LCLC says for variable symbol says can be
with or with out leading &

However when I tried to do a SETC against it I got a assembly error


 I believe that it means LCLC does not require the leading
ampersand but in all other uses the leading ampersand is required -- and
it is the same variable.


That's gratuitous flexibility that adds no expressive power,
but leads to confusion, as in the original ply.

Rather, for consistency, symbols appearing as operands of
LCLC should be evaluated:

SETC  '&'
 LCLC  

... should declare  to be a local symbol.

(What about LCLA and LCLB?)

--
gil


Re: Variable symbol without leading

2023-06-28 Thread Joseph Reichman
Seymour thanks my feeling exactly I have a ALC cop presentation on macros 
Doing some research 

> On Jun 28, 2023, at 10:46 AM, Seymour J Metz  wrote:
> 
> Yes, it's legal, no, it's not an ordinary symbol in a [LCL|GBL]x, and yes, 
> it's confusing. IMHO it would have been better to accept it but issue a 
> warning.
> 
> 
> From: IBM Mainframe Assembler List  on 
> behalf of Joseph Reichman 
> Sent: Wednesday, June 28, 2023 10:09 AM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: Variable symbol without leading &
> 
> Hi
> Just looked at the doc for LCLC says for variable symbol says can be with or 
> with out leading &
> 
> I did try to assemble a symbol without leading & and it did a assemble 
> however I would think without the leading & it’s an ordinary symbol
> 
> However when I tried to do a SETC against it I got a assembly error
> 
> So my question becomes if you  can declare a variable symbol without a 
> leading &
> But cannt SETC what can it be used for


Re: Variable symbol without leading

2023-06-28 Thread Seymour J Metz
Yes, it's legal, no, it's not an ordinary symbol in a [LCL|GBL]x, and yes, it's 
confusing. IMHO it would have been better to accept it but issue a warning.


From: IBM Mainframe Assembler List  on behalf 
of Joseph Reichman 
Sent: Wednesday, June 28, 2023 10:09 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Variable symbol without leading &

Hi
Just looked at the doc for LCLC says for variable symbol says can be with or 
with out leading &

I did try to assemble a symbol without leading & and it did a assemble however 
I would think without the leading & it’s an ordinary symbol

However when I tried to do a SETC against it I got a assembly error

So my question becomes if you  can declare a variable symbol without a leading &
But cannt SETC what can it be used for


Re: Variable symbol without leading

2023-06-28 Thread Dave Clark
"IBM Mainframe Assembler List"  wrote on 
06/28/2023 10:09:27 AM:
> Just looked at the doc for LCLC says for variable symbol says can be
> with or with out leading &
> 
> However when I tried to do a SETC against it I got a assembly error 


I believe that it means LCLC does not require the leading 
ampersand but in all other uses the leading ampersand is required -- and 
it is the same variable.


Sincerely,

Dave Clark
-- 
int.ext: 91078
direct: (937) 531-6378
home: (937) 751-3300

Winsupply Group Services
3110 Kettering Boulevard
Dayton, Ohio  45439  USA
(937) 294-5331





*
This email message and any attachments is for use only by the named 
addressee(s) and may contain confidential, privileged and/or proprietary 
information. If you have received this message in error, please 
immediately notify the sender and delete and destroy the message and all 
copies. All unauthorized direct or indirect use or disclosure of this 
message is strictly prohibited. No right to confidentiality or privilege 
is waived or lost by any error in transmission. 
*