If you begin each module with an eye-catcher then your base register instantly 
identifies the module.

Charles


-----Original Message-----
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Keith Moe
Sent: Monday, December 2, 2019 11:28 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: BASR to AMODE 64 (Baseless code)

 Even when using "baseless" code, I like to keep ONE register as the base/entry 
point of the module (plus what ever is needed for constant/data areas beyond 
the first 4K). Having a register thus set makes looking at a dump easier as 
this base register (90% of the time R12) points to the current module. Also, 
when tracing back through the save area chain or linkage stack, there's a 
register that is pointing to each module that did the linkage.

Human time is frequently more expensive than computer time and every little 
trick helps.

Someone also mentioned the "old" user of a BALR instruction to set the base 
register with an offset of 2 (which he didn't like - and neither do I). I 
started with DOS and TOS in 1966 and you had to do this because no register was 
set as the main program entry point when you received control.

Keith Moe
BMC Software


     On Monday, December 2, 2019, 11:08:31 AM PST, Seymour J Metz 
<sme...@gmu.edu> wrote:  
 
 ObNit If you keep your CSECT to a reasonable size then there is no need for a 
base register to address the code. But if you have an obscenely large 
monolithic program you will still need a base register, plus a large bottle of 
aspirins.


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


________________________________________
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> on behalf 
of Ed Jaffe <edja...@phoenixsoftware.com>
Sent: Monday, December 2, 2019 11:48 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: BASR to AMODE 64

On 12/2/2019 7:58 AM, Kerry Liles wrote:
> Or
>
>      LR  12,15
>      USING entrypointname,12


And, of course, R15 is not even loaded with the entry point address for
programs given control in AMODE(64) :-\

These days, one is expected to issue LARL/USING to your program
constants. There is generally no need whatever for base register
coverage of the code.


--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://secure-web.cisco.com/1CmNlLjV6IRG9rviKHLMbp5nRJL54PCArFysj4EbgjECIvpoTo8FSAt-W0t5zZjVF-vUu5S6tiwLCbgX4UxOwwc-Rpf8NRTgGpmVY7Wezr5v8ZCwodpJvBoUpw5myjQTm5r331VZrX6YTyn_hFIw6wNfZhyA750MPczTp3V9YzraBA4vYB7KVkNgvvJlTYuHz89zXrWq3v_hewn7TTr91jbtyUf75SeAekIvCzFkIyM7PIQuFOvFX5MnrC7n_OojOGPumCv_yz8M0EbwAbOAgNIbrf42HgxGGUplfsxTHjddb3JwpCDqKhumRNfhTULltWS1H60XMuPLOp2IT61WKvkoKg6KRXyfrdkfq01v2AP0i-BC_p-s8U8QN2bUaFgGjCdc2pbi5cVOva-YE7ndVr7yeajsew3OXRwAi6fHZ4Hk4GbQYhNduRL-bZnmcBVt5/https%3A%2F%2Fwww.phoenixsoftware.com%2F


--------------------------------------------------------------------------------
This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

  

Reply via email to