We use TWO LOCTR's, one for constants required to be within 4K of the base register and a second for constants only referenced by relative long or long displacement instructions. Useful when your combined constants size exceeds 4K as it moves the "yonder" fields out of the 4K space. I wish there was easy way to aggregate the LTORG literals specifically into pre and (potentially) post 4K LTORGs.
Robert Ngan -----Original Message----- From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> On Behalf Of Jon Perryman Sent: Monday, December 2, 2019 19:51 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: BASR to AMODE 64 (Baseless code) On Monday, December 2, 2019, 02:56:13 PM PST, Paul Gilmartin <00000014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote: > In the source? Branch around them or use LOCTR? What difference > does it make as long as instructions plus data do not exceed 4Ki? For programs that don't use a base register for the code, good coding practices requires LOCTR be used to place constants at the beginning of your program (with branch around). As long as constants never exceed 4KB, the program won't need to be reworked to free a register. > dissension about whether control block definitions should > precede or follow instructions. > And the former group was biased by experience with languages which > required symbols defined before reference. CB location in the source is not always cosmetic because of the macro language. I've worked on a product that will not assemble with the CB's at the end of source. The cosmetic problem of placing CB's at the beginning is no longer a problem because ISPF and SDSF editor allows lines to be hidden. Just write an edit macro to hide CB definitions. Jon. DXC Technology Company - Headquarters: 1775 Tysons Boulevard, Tysons, Virginia 22102, USA. DXC Technology Company -- This message is transmitted to you by or on behalf of DXC Technology Company or one of its affiliates. It is intended exclusively for the addressee. The substance of this message, along with any attachments, may contain proprietary, confidential or privileged information or information that is otherwise legally exempt from disclosure. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient of this message, you are not authorized to read, print, retain, copy or disseminate any part of this message. If you have received this message in error, please destroy and delete all copies and notify the sender by return e-mail. Regardless of content, this e-mail shall not operate to bind DXC Technology Company or any of its affiliates to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose.