AREAD is not recommended for Tony's situation. Instead, follow the standard
assembler conventions and the code will be clean and readable for assembler.
Here is how I would implement Tony's PERFORM_ON macro.
Jon.
PERFORM_ON (R3),BAD_VALUE=ERRNO_2,BRTABLE=(
INITAPI, 00
On Monday, May 3, 2021, 01:05:53 PM PDT, Paul Gilmartin
<0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:
> SETC 'LABEL DC A(C)'
> * . . .
>
Tony is asking about AREAD. The problem you describe is where label, opcode and
arguments must be specified. I would solve this using
Thanks for the alignment issue. I went back and found that a DS 0H was
in the code in some historical copies of the macro, but not in all the
copies. I must have fat-fingered a line delete at some point.
Also, the SOC1 is only if I did not tell the macro how to handle a bad
value. With some
On Monday, May 3, 2021, 01:05:53 PM PDT, Paul Gilmartin
<0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:> SETC 'LABEL
DC A(C)'
> * . . .
>
Tony is asking about AREAD. The problem you describe is where label, opcode and
arguments must be specified. I would solve this using
There's no need for more parameters... just maybe a GBLA.
Frankly, I think branch tables are simple enough to code, including
automatic range checking, as to not be worth macros at all.
Whatever.
btw, HLASM is pretty smart, but it doesn't read your commentary:
A DCX''FORCE ABEND |
The same would be true if you used macro parameters.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf
of Tony Thigpen [t...@vse2pdf.com]
Sent: Monday, May 3, 2021
Because the AREAD enables building the built-in error trapping logic. If
the reg is too large or negative, it's trapped automatically. And, I
don't have to remember to change the limit edits every time I add
something to the branch table.
Tony Thigpen
Steve Smith wrote on 5/3/21 5:13 PM:
Why not just have a macro to generate each entry, and not mess with AREAD
at all?
Like:
INITAPI PERF_ENT 00
ACCEPT PERF_ENT 01
...
Seems like you'd save a bunch of code, besides avoiding AREAD complications.
sas
On Mon, May 3, 2021 at 5:03 PM Tony Thigpen wrote:
> I use LOCTR heavily in my
I use LOCTR heavily in my programs. Separate areas for base code,
basr'ed to code, lits, acons, just to name a few. It will not help me
with this issue.
The following is the code that uses the AREAD macro that I am working
with. The macro is attached. (I have trimmed down the source call a
Depending on what you're doing, LOCTR may help.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf
of Tony Thigpen [t...@vse2pdf.com]
Sent: Monday, May 3, 2021 3:52 PM
Re LRL: The architecture doesn't enforce non-modifiabilty of your code, and
not all instructions have to be equally useful. HLASM dies allow more
flexiblity in defining a storage constant than it does for an immediate
operand, but that's no excuse. Sorry, that's all I've got; generally I
agree
AREAD is how you want to do something. What is it you want to accomplish?
AREAD will never read from a macro because it could have serious unforeseen
consequences. AREAD does not deal with line continuations. Worse yet, the line
from the macro could corrupt that macro causing the macro's
On 2021-05-03, at 10:59:50, FancyDancer wrote:
>
> If you have a record that contains data that you ALWAYS want to assign to a
> set symbol, why not just use the data that you want in a SETC operation?
>
I don't know what Tony was trying to do, but I suspect he was thwarted
by a lack of
On 2021-05-03, at 12:14:07, Ngan, Robert wrote:
>
> Or: DC 0F
>
No. Read what Charles wrote and envision an operation exception.
> -Original Message-
> From: Paul Gilmartin
> Sent: Friday, April 30, 2021 19:48
>
> On 2021-04-30, at 16:17:06, Charles Mills wrote:
>>...
>> And #3
In this case, I am using AREAD to build a branch table. The macro first
edits the value passed based on the number of entries in the branch
table. It needs knows how many entries by reading branch_to points. (It
also builds the table while it is reading/counting the number of
entries.) The
Yes, I want to read the next statement from the macro that actually
called the AREAD using macro.
Tony Thigpen
FancyDancer wrote on 5/3/21 2:30 PM:
If you use AREAD within a macro, it will use the next card image from the
primary input, NOT the next image in the macro definition. Do you want
Yoou really don't want to fall theough into a DC 0F.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf
of Ngan, Robert [rn...@dxc.com]
Sent: Monday, May 3, 2021 2:14
AREAD is intended for reading the source file. Although there are workarounds,
I personally avoid them because you can run into problems with macros that use
aread. As you mentioned, SETC to a global variable is a good option to pass
information.
What are the negative issues you encountered
If you use AREAD within a macro, it will use the next card image from the
primary input, NOT the next image in the macro definition. Do you want it to
read the next statement in the macro definition?
Dan Snyder
I am not sure what you are asking.
Tony Thigpen
FancyDancer wrote on 5/3/21 12:59 PM:
If you have a record that contains data that you ALWAYS want to assign to a set
symbol, why not just use the data that you want in a SETC operation?
Dan Snyder
Or: DC 0F
Robert Ngan
HCL Technologies
-Original Message-
From: IBM Mainframe Assembler List On Behalf
Of Paul Gilmartin
Sent: Friday, April 30, 2021 19:48
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Ensuring LRL 2nd operand alignment
On 2021-04-30, at 16:17:06, Charles Mills
Loading an adcon.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf
of Tony Harminc [t...@harminc.com]
Sent: Monday, May 3, 2021 1:16 PM
To:
On a more general topic, why does LRL exist in the first place? Why
would any programmer (or compiler) use LRL in preference to IILF or
one of the other immediate instructions? (And why is there LGFI but no
LFI?)
Surely immediate instructions are generally faster than relative ones.
Some of them
If you have a record that contains data that you ALWAYS want to assign to a set
symbol, why not just use the data that you want in a SETC operation?
Dan Snyder
LRL was the instruction image in the mini-dump.
Just sayin', not saying the mini-dump is definitive.
Charles
-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: Monday, May 3, 2021 7:50 AM
To:
I have several macros that use AREAD. But, I tried something this
weekend that I still have not figured out. Maybe someone has a suggestion.
I also use macros as a way to include large blocks of common code in
programs. I tried to create such a macro from some code that used one of
my macros
Yes, LRL should work on a z15. Now I suspect that the LRL is not the
instruction causing the interrupt.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf
of
Our problem is on a z15.
But z15 should have the long-displacement facility / LRL instruction installed,
yes?
--Shawn S.
-Original Message-
From: IBM Mainframe Assembler List On Behalf
Of Seymour J Metz
Sent: Friday, April 30, 2021 3:59 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject:
28 matches
Mail list logo