Ref: Your note of Tue, 24 Nov 2020 14:26:55 +0200 Binyamin Dissen <[email protected]> > So it is a sort of LARL instruction (AMODE31) > > One wonders as to the justification for this requirement.
On IILF a relocatable operand is indeed similar to LARL and I would personally prefer to use LARL for that purpose where possible (because it does not require load-time relocation). The reason for the fix was that people had reported cases where they had been using register and storage instructions which worked with loading or adding literals or similar, and they had tried to optimize the processing (or avoid the need for a literal base register) by using immediate instructions instead, but if the expression was relocatable this failed with ASMA032E. As the assembler already supported relocation of instruction operands (for relative addresses) the amount of coding needed to support this case was just a few lines, to set slightly different RLD options. The fix applies to all 4-byte non-relative immediate operands, regardless of instruction, and it is up to the users how they want to use it. Jonathan Scott, HLASM IBM Hursley, UK
