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? ***************************************************
