Jumps (branch relative) have a 16-bit signed offset; that's a lot of addressability. I see no reason to use relative long (32-bit signed) in the normal course of events.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי ________________________________________ From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> on behalf of Dave Clark <dlcl...@winsupplyinc.com> Sent: Thursday, November 9, 2023 12:16 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Based vs. Relative (was: Internal Exit Routine Handling) "IBM Mainframe Assembler List" <ASSEMBLER-LIST@LISTSERV.UGA.EDU> wrote on 11/09/2023 11:27:20 AM: > IMHO, relative branch use is a "best practice" in all situations. I > *never* use a based branch if an equivalent relative branch will suffice... I've been coding based-branches since 1980 and never moved on to the new stuff. But I recognize that it would be beneficial if I did. So, let me ask a couple of simple questions... Is it, relatively speaking (hehe), "a lot" of effort (or even possible/practical) to do away with a code base register altogether? The first place that I would like to switch to relative jumps is in my structured programming macro sets. But do relative jumps come in more than one flavor? ...like long jumps and "how far"? I know I can do a relative jump up to 4K, correct? Is there a long jump beyond that? And since there can be as much code between the macros in my macro sets as the user determines to put in there, should I use long jumps as opposed to "short" jumps, just-in-case? For example... I have these 4 macros in one of my sets. Internally, I generate labels for THENnnnn, ELSEnnnn, and ENDFnnnn. These also arbitrarily allow nesting up to 8 levels. IF condition,AND/OR,condition AND condition,AND,condition ... as much code as the user desires between here ... ELSE ... as much code as the user desires between here ... ENDIF Sincerely, Dave Clark -- int.ext: 91078 direct: (937) 531-6378 home: (937) 751-3300 Winsupply Group Services 3110 Kettering Boulevard Dayton, Ohio 45439 USA (937) 294-5331 ********************************************************************************************* This email message and any attachments is for use only by the named addressee(s) and may contain confidential, privileged and/or proprietary information. If you have received this message in error, please immediately notify the sender and delete and destroy the message and all copies. All unauthorized direct or indirect use or disclosure of this message is strictly prohibited. No right to confidentiality or privilege is waived or lost by any error in transmission. *********************************************************************************************