All

The z390 assembler and linker currently only handle up to 4 byte adcons as the 
underlying Java code only handles 4 byte integer addresses used in adcons, 
registers, and assembler expressions.

Don Higgins
[email protected]
www.don-higgins.net 

-----Original Message-----
From: IBM Mainframe Assembler List <[email protected]> On Behalf 
Of ASSEMBLER-LIST automatic digest system
Sent: Friday, July 3, 2020 12:00 AM
To: [email protected]
Subject: ASSEMBLER-LIST Digest - 9 Jun 2020 to 2 Jul 2020 (#2020-34)

There are 4 messages totaling 354 lines in this issue.

Topics of the day:

  1. z390 RLD Entries ... Bug or Feature? (4)

----------------------------------------------------------------------

Date:    Thu, 2 Jul 2020 19:44:38 -0400
From:    Dan Greiner <[email protected]>
Subject: z390 RLD Entries ... Bug or Feature?

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