Don, it should not matter to the assembler that it only handles 32-bit numbers. The RLD items for ADL5, ADL6, ADL7 and ADL8 should still be generated correctly by the assembler and handled by the linker and loader. Even RMODE 24 and 31 programs can have 8-byte relocatable addresses.
Dan, if I remember correctly, the z/OS binder can only handle relocatable AL3, AL4 and ADL8 and would complain about relocatable AL1, AL2, ADL5, ADL6 and ADL7. But it has been a long time since I used it so my memory could be wrong or things might have changed. Best regards, David Bond > On 3 Jul 2020, at 12:46, Don Higgins <[email protected]> wrote: > > 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? > ***************************************************
