If it's large then you'll need three and if it's too long for Load Relative 
Long then you'll need four. I prefer to break things into smaller assemblies 
unless there is a good reason to assemble them together.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


________________________________________
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> on behalf 
of Ngan, Robert <rn...@dxc.com>
Sent: Tuesday, December 3, 2019 4:27 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: BASR to AMODE 64 (Baseless code)

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.

Reply via email to