Perhaps the "weird way" could be documented as an appropriate way to pass arguments by value instead of the standard by reference. Then it would no longer be weird! ________________________________ From: IBM Mainframe Discussion List <[email protected]> on behalf of Steve Smith <[email protected]> Sent: Wednesday, March 29, 2023 9:16 PM To: [email protected] <[email protected]> Subject: Re: ASM call by value
Good job. You could have a future as an assembler programmer, because you pay attention to the details. Your weird way is interesting because it is correct, but... it is not idiomatic. So it will freak out most assembler programmers. That's often not a good thing, but often is not always. sas On Wed, Mar 29, 2023 at 7:53 PM Frank Swarbrick <[email protected]> wrote: > OK, the following three examples all seem to work. I dare say you are > correct about example 1 being unexpected usage of the execute mode. I only > came up with it my looking at an example that wasn’t working and seeing > that putting my value there directly made it work. But it wasn’t meant to > be an example of good coding. > > * > CALL1 CALL ,(,),MF=L > * > ISCICS# CEEENTRY MAIN=NO > * > * SEE IF WE'RE RUNNING UNDER CICS BY CALLING @@GETCb > * WITH “VALUE” OF FULLWORD 3. > * > * EXAMPLE 1 (MY WEIRD WAY): > CALL @@GETCB,MF=(E,=F'3') > * > * EXAMPLE 2 (LOAD R1 DIRECTLY WITH ADDRESS OF AREA > * CONTAINING 3, THEN JUST CALL): > LA 1,=F'3' > CALL @@GETCB > * > * EXAMPLE 3 (LOAD REGISTER (2) WITH VALUE, > * THEN CALL WITH THAT REGISTER AS THE ARGUMENT: > LHI 2,3 > CALL @@GETCB,((2)),MF=(E,CALL1) > * > CEETERM RC=(15) > * > PPA CEEPPA > CEEDSA , > CEECAA , > END ISCICS# > > I should note that I am not a systems programmer, or even an “assembler > programmer”. I am a COBOL programmer who dabbles in assembler > occasionally. So I am bound to get a lot of things wrong. > > I think I’ll do with #2, since that generates the least amount of code and > is still fairly simple to read. > > As for why I used X'0000000010000000200000003’ instead of F'1,2,3' in > another example, it’s because I didn’t know of the availability of using > “comma separated fullword” literals. > > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
