Oops, appended (,0) to wrong CVT symbol!

Robert Ngan
DXC luxoft

-----Original Message-----
From: IBM Mainframe Assembler List <[email protected]> On Behalf 
Of Ngan, Robert (DXC Luxoft)
Sent: Tuesday, July 9, 2024 18:05
To: [email protected]
Subject: Re: Getting to CVT with FLAG(PAGE0)

Try:

         L     R9,CVTPTR          GET POINTER TO CVT(,0)

Robert Ngan
DXC Luxoft

-----Original Message-----
From: IBM Mainframe Assembler List <[email protected]> On Behalf 
Of Schmitt, Michael
Sent: Tuesday, July 9, 2024 17:34
To: [email protected]
Subject: Getting to CVT with FLAG(PAGE0)

[Some people who received this message don't often get email from 
[email protected]. Learn why this is important at 
https://aka.ms/LearnAboutSenderIdentification ]

I'm testing to see if FLAG(PAGE0) gives too many false hits.

One problem is with code that is locating the CVT, which is a pointed to by an 
absolute address. Using CVT   DSECT=YES:

         L     R9,CVTPTR          GET POINTER TO CVT

results in:

** ASMA309W Operand CVTPTR resolved to a displacement with no base register


Does this mean:

A. Yeah, it is going to give that warning. You have to consider each case to 
determine if the warning is valid or not.
B. I'm coding it wrong.
C. I'm coding it right but there's a better way to code it that won't trigger 
the error.


I like my compiles and assembles to be clean: no warnings. So I'm not a fan of 
option A.

I suppose I could put in a compile option to set FLAG(NOPAGE0) in programs that 
are getting to the CVT.


Statistics: of around 80 assembler programs:
   2 hit the CVT case
   1 set a 1 byte switch to an equate with MVC (should have been MVI)
   1 used L R15,8 to set a return code to 8.

___________________________________________________
Michael Schmitt | DXC Apps Development | MassMutual
(737) 910-8248 | [email protected]

Reply via email to