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.
*********************************************************************************************

Reply via email to