On Wed, 23 Oct 2024 03:44:57 +, Seymour J Metz wrote:
>No, that puts the BXH at the end, not at the beginning.
Since IBM didn't document your specific use case, the only other possibility is
if an undocumented form of DO WHILE=(BXH,R1,R2) exists where the IF / DO
condition handles the BXH
On Tue, 22 Oct 2024 21:04:14 -0400, Jon Perryman wrote:
A quick search shows it documented in the TOOLKIT as DO BXH,FROM=,TO=
>On Tue, 22 Oct 2024 19:27:07 +, Seymour J Metz wrote:
>
>>I have code looking something like
>>
>>LOOP BXH PTRREG,INCCOMP,DONE
>
On Tue, 22 Oct 2024 19:27:07 +, Seymour J Metz wrote:
>I have code looking something like
>
>LOOP BXH PTRREG,INCCOMP,DONE
> ...
> B LOOP
>DONE EQU *
>
>Is the a way to generate that type of loop using the SP macros in the toolkit?
A simple find "BXH" in the DO
On Mon, 21 Oct 2024 12:54:34 +, Peter Relson wrote:
>When I had mentioned STCBUSER, I was a little surprised that no one asked
>"what about TCBUSER"?
It shouldn't be a surprise. Only a very small number of customers use TCBUSER
in their code. Anyone else needing TCBUSER realized long ago t
On Sun, 20 Oct 2024 13:27:35 +, Peter Relson wrote:
> At a minimum, programming interface would be clarified to "When not zero,
> address of the first problem program save area".
You should include if we can modify TCBFSA. Many times for debugging, I wish I
could have the first savearea i
On Sat, 19 Oct 2024 19:19:44 -0400, Tom Harper
wrote:
>Actually, it does not need any area to return the token.
>If TOKEN= is not specified, the token is available in 64-bit registers R0 and
>R1.
Does name/token calls now have macro's or are you using inhouse macro's? Can
you look at your ma
On Sat, 19 Oct 2024 19:34:22 +0300, Binyamin Dissen
wrote:
>On Fri, 18 Oct 2024 23:41:23 -0700 Leonard Woren
>wrote:
>
>:>If only there were an "R" / "get locate" form of N/T...� It only has
>:>"get move".
>
>IEANTRTR
Leonard doesn't want to getmain storage for the token. IEANTRTR requires an
On Fri, 18 Oct 2024 23:41:23 -0700, Leonard Woren
wrote:
>>Jon Perryman wrote on 10/18/2024 8:26 AM:
>> Task exit is the last thing performed by your task and it has no way
>> of knowing if the parm has been freed or overlayed.
>
>any storage owned by the main task is
On Friday, October 18, 2024 at 09:57:22 PM PDT, Jim Mulder
wrote:
> A supervisor state or system key program could specify DISP=NO on ATTACH
> For a problem program, the only thing that can set something in storage
> created by ATTACH before the attached task can run is ATTACH itself.
These
Resending because of the bad formatting.
On Thursday, October 17, 2024 at 05:54:46 PM PDT, Leonard Woren
wrote:
> Reviewing it, it seems that ETXR is in the running for the
> worst-designed interface in z/OS. No possible way to pass a parm to
> the ETXR.
To call this a poor design tells me yo
On Thursday, October 17, 2024 at 05:54:46 PM PDT, Leonard Woren
wrote:
> Reviewing it, it seems that ETXR is in the running for the> worst-designed
> interface in z/OS. No possible way to pass a parm to> the ETXR.
To call this a poor design tells me you need a refresher on multi-tasking
becau
On Sun, 9 Jun 2024 17:29:22 -0500, Janko Kalinic
wrote:
> 3 &NAMEM$TX &TEXT
Handling of variables on the macro prototype statement is different than SETC.
Quoting is one of the peculiarities.
> 6 &NAMEDCAL2(&A,0),C&TEXT
> 11+USFG81 DCAL2(25,0),C'X''08'' PDSE DATA SET'
> On current hardware there is an IILF (LFI) instruction, and I would like to
>> use it instead of the XR/ICM sequence.
Before using any modern instructions, ask yourself if they are worth the risk.
Does your disaster recovery site guarantee this as a minimum machine level.
Maybe your employer
On Tue, 27 Feb 2024 16:46:28 +0200, Binyamin Dissen
wrote:
>How is different than the case at the bottom?
>:>Because 24(R3) is not an expression. The second operand of the USING must be
>either a register number or a relocatable expression
Sadly, HLASM improvements barely keep the product aliv
On Fri, 1 Dec 2023 11:06:16 -0300, João Reginato wrote:
>How can I reset RMODE without receive
>ASMA186E AMODE/RMODE already set for this ESD item
What do you mean by "receive"?
RMODE is not a machine instruction (e.g. MVC). Instead, the linkage editor
verifies where you want this CSECT to re
On Fri, 1 Dec 2023 13:39:59 -0500, David Eisenberg
wrote:
>No... MYINNER is inline within MYMAC. It's not a COPY.
Inline macros and copybooks are source code (not generated) and like source
code, they are printed as is. PRINT NOPRINT suppresses source code printing.
PRINT NOGEN is for each ex
On Fri, 1 Dec 2023 12:03:08 -0500, David Eisenberg
wrote:
>But immediately after the call to MYMAC in the listing, the entire macro
>source of MYINNER
> (including the macro comments beginning with dot-asterisk) are printed in the
> listing.
The first obvious question is have you reviewed th
On Tue, 21 Nov 2023 13:27:44 -0700, Paul Gilmartin wrote:
>Someone once counseled me that extending the savearea for a workarea
>was unwise. I suspect he was concerned about wild stores. I couldn't
>see how a wild store based on R13 was worse than any other wild store,
>so I ignored him.
There
I'm sorry Tom. My bad. It was Ed Jaffe who codes BAKR for each CSECT and save
areas for called functions.
On Tue, 21 Nov 2023 15:43:34 -0500, Tom Marchant
wrote:
>On Tue, 21 Nov 2023 15:04:25 -0500, Jon Perryman wrote:
>
>>Tom says that he uses BAKR to save registers for
On Tue, 21 Nov 2023 17:39:02 -0300, João Reginato wrote:
>Have you read from the beginning of this thread?
Yes, I'm familiar with the thread. As I said before, we're making assumptions
because you didn't state your intent. Instead, you gave a specific example
>As I said in the first e-mail se
Is the EQU something you can't change? If you need it as the value then code it
as both value and length so it can be accessed as a value and length. In your
case, the value will always resolve to a number so it is always a valid length.
EQU_LABEL EQU 30,30
EQU_LABEL EQU ANOTHER_LABEL,ANOTHE
No one discusses the down side of BAKR and Linkage stack versus standard
savearea chains.
Tom says that he uses BAKR to save registers for each CSECT called and savearea
for each call within the CSECT. I personally don't see the upside with this
philosophy. My recommendation would be to follow
o Reginato wrote:
>I don't care about its length but the actual value
>
>De: IBM Mainframe Assembler List Em nome de
>Jon Perryman
>
>Like DC & DS, you can fully define a variable using EQU. The second EQU parm
>allows you to define a length that can be queried using &a
Like DC & DS, you can fully define a variable using EQU. The second EQU parm
allows you to define a length that can be queried using &VAR SETA L'EQU_LABEL
from EQU_LABEL EQU ,30.
Another possibility is to use DS 0AL4(EQU_LABEL) will display the value in the
listing but the 0 causes the field to
On Tue, 14 Nov 2023 18:27:16 -0300, João Reginato wrote:
>** ASMA057E Undefined operation code - 6/SR 15,15
The message shows you exactly what is the problem. There is no opcode "SR
15,15". The assembler thinks " 15,15" is part of the instruction. Assembler
tokenization and macro tokeniza
On Sun, 12 Nov 2023 17:14:49 -0700, Paul Gilmartin wrote:
>RECFM=FBS prevents that.
That is certainly a partial solution but the correct solution is VSAM RRDS or
ESDS which eliminates the special handling.
>That's mostly how the Divide instruction works.
Division is not the hard part. Impleme
Everyone is making this far more complicated than it needs to be. Positioning a
file is about you designing a method that can calculate a position on the disk
that meets your requirements. z/OS, Unix, CMS, z/VSE and MS-Windows have file /
dataset positioning because it greatly reduces I/O. There
On Mon, 23 Oct 2023 09:55:54 -0400, Dave Clark wrote:
>SHVPARMB DS5F
>SHVPLAST EQU *-4
>OISHVPLAST,X'80'
>You have some other suggestion for how to handle this?
You must have other asm programs that create parmlists. My suggestion would be
to remain consistent with those prog
> On Tuesday, August 15, 2023 at 02:29:07 AM PDT, Jonathan Scott
> wrote:
> Although it may initially seem confusing, it provides a safe way to
> ensure that the named flag is mapped to the correct field:
> TF flag
> + TM flag,L'flag
The problem is inconsistency and not co
> On Sunday, August 13, 2023 at 03:53:19 AM PDT, Seymour J Metz
> wrote:
> A technique that I have seen used in macros is to repurpose the length
> attribute in order to define
> FLAG1 DCAL1(L'TRACE)
> TRACE EQU FLAG1,X'80'ENABLE TRACING
I strongly discourage
I'd like to hear other opinions about this comparison of C/C++ and HLAsm. The
comparison revealed some interesting insights between C/C++ and HLAsm but was
not as helpful as I wished because the products solved very different problems.
There is a lot of motivated reasoning used when discussing C
> On Sunday, August 13, 2023 at 03:53:19 AM PDT, Seymour J Metz
> wrote:
> A technique that I have seen used in macros is to repurpose the length
> attribute in order to define
> FLAG4 DC AL1(l'LDAP_AUTH_ENABLED+TRACE)
The +TRACE in flag4 needs to be removed.
On Sunday,
> Mark Hammack
> YES EQU X'FF'
> NO EQU X'00'
> TRUEEQU -1
> FALSE EQU 0
Using TRUE EQU YES makes your intent clear. Coding X'FF' would be consistent.
-1 should not be used.
> I realize that bytes are unsigned whereas anything bigger is signed.
Numbers in HLAsm are signed or
> Dave Clark wrote:
> FLAGS DC A(LDAP_AUTH_ENABLED+TRACE)
> But that yields aligned storage, correct?
You'll need to test it but I believe AL4( ) ignores alignment.
> David Eisenberg wrote:
> I want to generate baseless code using as few instructions as possible,
> Can my macro modify the resulting condition code?
I'm horrified this was your solution especially considering all the other
options available.
1. Regardless of programming language or whatever
I forgot to mention that in my case C++ would have forced me into difficult
design choices for automation. While events rarely change on z/OS, the
possibility still exists. C++ can extract attributes (fields) during runtime
which I can use to dynamically build each event type but I risk unwittin
Thanks Chris for answering so many questions. I should have read part 2 before
answering part 1.
> Chris Cradock wrote:
> I used the z/XDC debugger with c/XDC for the C++ code. I'm still a Dave Cole
> fanboy. I couldn't have done it without XDC.
Anyone who doesn't express accolades for z/XDC h
> Chris Craddock wrote:
> The product is almost 32,000 lines of code.
> HLASM it would be at least 3-5x more code
I'm really surprised that yours is so much less than my 80,000 lines (asm &
macros). 2.5X is very significant.
> AFAIK none of the other "cool kid" languages are on z/OS
GO is a pop
> Peter Relson wrote:
>> Jon Perryman wrote
>> #CALC (R4)=@PSAaddr of PSA
>> #CALC WRKPSA=@PSASave PSA addr
> I'd guess that this is not a good way of doing
Very true Peter. Very bad choice of example. In C, we have r
Hi Chris,
I can simplify this with 3 simple questions. Realize I'm very pro-C/C++ with a
couple of caveats. I would have preferred C++ for my product if it didn't
create more problems than it solved. I'm curious about your experience as a new
convert to C++. Unlike any other applications, z/OS
> On Thu, 20 Jul 2023 at 09:01, Rob van der Heij wrote:
> It would be interesting to see your evidence of IBM Z not performing well
> with Linux.
Linux on z performs better than Linux on most other hardware. My point is that
Linux wastes much of z hardware.
Since I haven't seen Linux on z, I h
> On Wednesday, July 19, 2023 at 08:24:41 AM PDT, Chris Craddock
> wrote:
> I just delivered a brand new z/OS automation product that's about 40% HLASM
> and 60% C++.
> Yes really, it's IBM's C++ running APF authorized under LE in a z/OS STC.
Hi Chris,
Sorry for the long delay, but things hav
BM has a huge investment in z/OS software that if compatible with RHEL would
bring in the same revenues as z/OS.
On Wednesday, July 19, 2023 at 02:03:10 AM PDT, dave.g4...@gmail.com
wrote:
> -Original Message-
> From: IBM Mainframe Assembler List
> On Behalf Of Jon Perr
> Do you have evidence that IBM has withheld their changes to GCC?
While hardware specific changes can be maintained with GCC, is there a real
purpose? I doubt that IBM modifies anything that affects generic GCC.
On Wednesday, July 19, 2023 at 01:36:10 PM PDT, Tom Marchant
<00a69b48f3bb
When you start questioning Linux terminology, the whole story starts to fall
apart. Hyperscale has meaning beyond marketing and programmers use it as to
boast about their skill. It happened to be the one that popped into my head. I
could have said bigdata, cloud, clusters or boat load of other
Rick,
I'm not hating on C. It's silly to say that C hardware near. I would say less
than 5% of the x86 or z instructions are used by the language. Look at the x86
instruction manual or the IBM POPS. Do you think malloc is written in C? C
gives you access assembler at a minimum, there is an asse
-|
On Tue, Jul 18, 2023, 19:47 Jon Perryman wrote:
> IBM RHEL announced it's move to closed source (IBM RedHat Enterprise
> Linux). With some changes, DB2, RACF and other z/OS products could run in
> Linux on z16 in one sysplexed Linux image. We know it's possible because
> IBM m
more money.
J-|
On Tue, Jul 18, 2023, 19:47 Jon Perryman wrote:
> IBM RHEL announced it's move to closed source (IBM RedHat Enterprise
> Linux). With some changes, DB2, RACF and other z/OS products could run in
> Linux on z16 in one sysplexed Linux image. We know it's possible
IBM RHEL announced it's move to closed source (IBM RedHat Enterprise Linux).
With some changes, DB2, RACF and other z/OS products could run in Linux on z16
in one sysplexed Linux image. We know it's possible because IBM moved Unix and
TCP into z/OS. IBM RHEL said closed source would force non-pa
The word "shared" has 2 meanings. For most people, it means multiple tasks
using the same storage at the same time (e.g. CSA) which requires some sort of
serialization (e.g. CS, ENQ and more). User exits have another type of sharing
because 1 exit point can have multiple exit programs that are
frame 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
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 G
.
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
descri
-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 P
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
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 contr
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 ar
Joseph, I don't think your question has been understood. If so, then your
question hasn't been answered.
My interpretation of your question is that you have real code that has LCLC
&FOO in open code that is behaving like GBLC &FOO.
MACRO TESTMAC , GBLC &FOO
&FOO SETC "MACRO"
MEND
hat machine.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf
of Jon Perryman [jperr...@pacbell.net]
Sent: Wednesday, June 7, 2023 5:15 PM
To: ASSEMBLER-LIST@LIST
1 (negative number) = - ( 2's complement (b'111') ) = -
(b'000' +1) = -1 On Wednesday, June 7, 2023 at 02:29:32 PM PDT, Paul
Gilmartin <0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:
On 6/7/23 15:15:40, Jon Perryman wrote:
> ... To us, signed integ
ent (b'111') ) = - (b'000' +1) = -1 On
Wednesday, June 7, 2023 at 02:29:32 PM PDT, Paul Gilmartin
<0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:
On 6/7/23 15:15:40, Jon Perryman wrote:
> ... To us, signed integer is ones complement> with bit 0 being the sign
>
Who "us"?
--
gil
Phil's question is why they chose the word "logical" for CL over 70 years ago.
If you have logical comparisons, then all other comparisons must be illogical.
To us, signed integer is ones complement with bit 0 being the sign but I
suspect the hardware guys had a very different perspective. Same
ChatGPT gave you the answer you asked for. You didn't ask for good or
functional. Why are you asking AI a question that would yield the same results
as a Google search?
Ask ChatGPT to convert an HLASM program (you supply) to C. My guess is that it
will say something like it has not been trained
Macros and inline coding that avoids USING statements solves ambiguous USING
statements. In this case, I'm guessing it's an IBM CICS macro.
On Wednesday, March 29, 2023 at 05:16:32 PM PDT, Swarbrick, Frank
<12f6dfd67d6a-dmarc-requ...@listserv.uga.edu> wrote:
20 year amateur assembl
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:
> &STMT SETC 'LABEL DC A(C)'
> * . . .
> &STMT
Tony is asking about AREAD. The problem you describe is where label, opcode and
arguments must be specified. I would solve this
On Monday, May 3, 2021, 01:05:53 PM PDT, Paul Gilmartin
<0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:> &STMT SETC 'LABEL
DC A(C)'
> * . . .
> &STMT
Tony is asking about AREAD. The problem you describe is where label, opcode and
arguments must be specified. I would solve this us
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 author
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 wi
On Monday, December 2, 2019, 02:56:13 PM PST, Paul Gilmartin
<0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:
> In the source? Branch around them or use LOCTR? What difference
> does it make as long as instructions plus data do not exceed 4Ki?
For programs that don't use a base r
> On Sunday, September 22, 2019, 02:26:02 AM PDT, Charles Mills wrote:
> What is in DBLWD2 after the CVD?
STRING is working properly because the timeused value and the op's result
match.
> Assuming that your program is fairly straightforward with no multitasking
Clearly the OP's program i
> CPU: 0 HR 00 MIN 17.17 SEC SRB: 0 HR 00 MIN 01.86 SEC
> dblwd1 at this point is B57E2F00
I found an old POPS on the internet and a comment for the STCK instruction says
bit 31 represents 1.048576 seconds. Since bit 31 is 0 (first fullword), When
TIMEUSED is ex
On Saturday, September 21, 2019, 05:43:45 PM PDT, Brian Westerman wrote:
> Sorry, I said 3 seconds and I meant 3 minutes of wall clock time.
The 1 minute cpu time from the console message is for all TCB's (not just the
TCB running the TIMEUSED macro). If the timeused value is significantly
FYI, TIMEUSED is the TCB time for the active TCB unless you are running in an
SRB. It won't include TCB time from other TCB's.
Because what you are saying doesn't make much sense, I'll make some educated
guesses. The CPU line must be garbage because 1 minute CPU time it far longer
than the 3 s
on behalf
of Jon Perryman
Sent: Sunday, August 4, 2019 4:23:21 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Circular Queue Handling in Assembler
Nice job Seymour hiding insults in hiperlinks. Since you brought it up, God is
not as smart as he wants you to believe. He created the jackass
Nice job Seymour hiding insults in hiperlinks. Since you brought it up, God is
not as smart as he wants you to believe. He created the jackass. He later
realized his mistake made it impossible for them to reproduce. Yet they still
exist.
How does PLO solve the OP's serialization problem with a
> One use for a circular queue is a wrapping trace table. Normally it's a
>queue that's never harvested until there's an abend,
The system trace table (not a queue) is circular but it has an atomic
instruction specific to moving the trace entry.
For a trace table, PLO will work up to PLO siz
Repeating what I said earlier, use a chained queue because this circular queue
will only work in 1 specific situation and chains are easy to implement and
maintain.
Everyone seems to think CS is the hard part. The important clue is
multi-tasking (assumed because of CS instruction). Multi-taski
Paul,
If I understand your question correctly, then this is not possible except in 1
specific situation.
You have a circular queue where each entry is 256 bytes that represents some
area in 64 bit storage and the queue is used by multiple tasks.
Problem 1: CS only serializes the index (consist
uel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
From: IBM Mainframe Assembler List on behalf
of Jon Perryman
Sent: Thursday, July 11, 2019 12:17 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Probably dumb assembler question
I agree with Mike
I agree with Mike that your storage leak may be somewhere else. When did
freepool become a requirement? I don't see anything in the code referencing a
buffer. If it is dynamically using a buffer pool, then the buffers should be
returned to the pool upon close and the next open should reuse that
You can get quickly up to speed on IBM's DLL implementation with the older
share presentation at ftp://ftp.software.ibm.com/s390/zos/le/an8130.pdf which
shows both sides with examples in several languages (including HLA). For me,
it's been several years but it don't remember it being difficult.
encapsulate the different function
and export them
In z/os it would be called from Assembler in Windows from MFC C/C++
> On Jul 2, 2019, at 4:09 PM, Jon Perryman wrote:
>
> This is really vague and I think there may be some misunderstanding of
> terminology.
> Why are you asking ab
This is really vague and I think there may be some misunderstanding of
terminology.
Why are you asking about Metal/C? Is there some importance to this? MetalC may
be missing functions you need. MetalC is an implementation of C that can be
used within z/OS (e.g. SMF routines). Several functions
In this case, it's not archaic. Column 16 is the standard assembler
continuation column. His assembler colleagues can't complain about that. They
are complaining about clean compiles and debugging strange program behavior
because the label is in the wrong column. How many times did I repeat the
OMG. "RUN THE EXAMPLE". I asked you to run it 3 times now. It obviously
doesn't branch to the LBL00. Instead, it abends. Totally unacceptable except
for personal use.
> That is the biggest complaint I have had with the macro from my people.
You should be ashamed having others use this macro. T
Sorry, darn yahoo Email and how listserv handles formatting. Here's another
try at getting it right.
pgm ENTER
LA R15,0
BRANCH_ON (R15)
LBL00
LBL04
--
RETURN
On Saturday, March 9, 2019, 7:32:41 PM PST, Jon Perryman
wrote:
Hi Tony,
Plea
ode was perfect. Maybe I did not think of some error situation.
Tony Thigpen
Jon Perryman wrote on 3/9/19 4:32 PM:
> This demonstrates my point that people treat AREAD too trivially and use it
>when it's not necessary. Apparently no one really looked at the BRANCH_ON
>macro which
This demonstrates my point that people treat AREAD too trivially and use it
when it's not necessary. Apparently no one really looked at the BRANCH_ON macro
which is a production macro. There is an obvious abend or bad branch that the
assembler would have diagnosed that AREAD hid.
Tony, you ar
changing all the
edits. And, with 100's of entries, it's a lot less typing that keying a
macro call on each line of the program. Basically, it makes my life a
lot simpler.
Tony Thigpen
Jon Perryman wrote on 3/8/19 5:21 PM:
> How is your BRANCH_ON macro improved by AREAD? You chose
ro, would you want someone unfamiliar wth
AREAD to model their code after it? AREAD certainly gives you a lot of
flexibility and I have used it but it should be used with caution.
Regards, Jon.
On Friday, March 8, 2019, 7:35:37 AM PST, Ed Jaffe
wrote:
On 3/7/2019 8:54 PM, Jon Perry
Sorry Tony, I was trying (apparently unsuccessfully) not to be insulting.
You recommended to the op that he should consider AREAD. With less than 5% of
macro's being improved by AREAD, what did you notice that AREAD needed to be a
consideration? I'm all for using AREAD when it's needed but it's
Never use AREAD unless it's really needed and you are willing to code it
correctly. Circumventing the assembler is not helpful. AREAD bypasses assembler
syntax, parsing and messages. It also requires a lot more code than programmers
are willing to write and there are so many exceptions that get
Using GBLC is rarely needed to generate these types of tables (e.g. cics and
IMS definitions).
If you really need the table in a different location, then use LOCTR. Even
generating a different CSECT would work.
Regards, Jon.
On Monday, March 4, 2019, 11:27:15 AM PST, Charles Mills
wrote:
To me the easiest method is with global variables using a prefix to avoid
variable name collisions. It's been a long time, so you may not be correct but
you can understand the idea.
gblb &(prefix&xcode) defaults to 0 first time aif
(&(prefix&xcode)).error already def
Using numbers for labels is certainly a good way to discourage goto's.
Eliminating GOTO sure makes code a lot more readable and maintainable.
Assembler toolkit has a set of structured programming macro's that greatly
reduces the need for branch labels. I hated macro's that required branch labels
Seymour is talking about maintainable large amounts of code should have at
least alphanumeric labels. Numeric labels can be confusing unless you have a
really good numbering scheme. I suspect most programmers would not use numeric
labels unless forced.
Regards, Jon.
On Thursday, February 15
Ze'ev and Richard, These are certainly good examples of using OOP in HLASM but
they are a little difficult to explain how they relate to the tenets of OOP.
Remember that it's the language that supports OOP in a way it chooses to
support it. E.g. methods in C++ are usually functions.
As a progr
'm certain that none of them
> would accept MVS as an OO OS; in fact, I doubt that you could find
> an MVS developer who would accept the claim.
> From: Jon Perryman - orignal post
Real HLASM OOP follows. Real HLASM programmers will understand why I said
called certain people
ere I made a mistake and not that I can't possibly understand.
Please give us something other than I'm wrong.
Regards, Jon.
> From: Jon Perryman - orignal post
Real HLASM OOP follows. Real HLASM programmers will understand why I said
called certain people are incompetent when say things
1 - 100 of 265 matches
Mail list logo