Firstly please provide the generated assembly listing so we can see the 
object code and secondly have you compared the RLD and object code to that 
produced by HLASM (l suspect they will be identical).
Keven
        
        

        
    
  




On Thu, Jul 2, 2020 at 6:44 PM -0500, "Dan Greiner" <[email protected]> wrote:










The following simple program illustrates address constants of various sizes:

RLDNFG   CSECT
A        DC    AL1(H)
B        DC    AL2(G)
C        DC    AL3(F)
D        DC    AL4(E)
E        DC    AL5(D)
F        DC    AL6(C)
G        DC    AL7(B)
H        DC    AL8(A)
         END

Assembling this code using z390, relocation-dictionary (RLD) entries are 
generated only for the 2-, 3-, 4-, and 8-byte address constants. RLD entries 
are not generated for the 1-, 5-, 6-, and 7-byte address constants. 

Furthermore, in the generated listing (.PRN) file, the RLD entry for the 8-byte 
address constant correctly indicates that it's an 8-byte address. However in 
the generated object (.OBJ) file, the RLD record for 8-byte entry contains a 
flag field of x'00'. According to "HLASM for z/OS, z/VM, & z/VSE: Programmer's 
Guide, V1, R6" (SC26-4941-06), an RLD-entry flag byte of zero indicates a 
1-byte address constant; the flag byte for an 8-byte address constant should be 
X'4C'.

Being a z390 newbie, I wasn't quite certain what to expect ... but I was rather 
gobsmacked to get this result.  Is this a bug or a feature?

Reply via email to