That's sticky. Do you include RR instruction with a zero R2 field? BAKR? PC?

My first take is "call instructions", but that excludes, e.g/, BALR R12,0. 
"linkage instructions has the same issue."

________________________________________
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> on behalf 
of David Cole <dbc...@colesoft.com>
Sent: Thursday, February 10, 2022 11:04 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Branch-and-Link nomenclature question

In Assembler there are many machine instructions that are suitable
for calling subroutines:
   - They go somewhere,
   - But they also set a register that can be used to return to the
next following instruction.

These instructions include:
   - BAL   (Branch and link)
   - BALR  (Branch and link register)
   - BAS   (Branch and save)
   - JAS   (jump and save)
   - BRAS  (Branch relative and save)
   - BRASL (Branch relative and save long)
   - BASSM (Branch and save and set mode)



My question is this...
What is the collective name for these instructions?

In a sentence such as "Then you branch and link to a subroutine...",
I tend to say "branch and link",

but I'm always unhappy about that...
   - Yes, "branch and link" is an accurate description of you're doing,
   - While "branch and save" is a bit opaque.
   - However, the phrase "branch and link" is ambiguous and invites
unnecessary quibbling.


So my question is... What would you say?

TIA,
David Cole
dbc...@gmail.com (personal)
dbc...@colesoft.com (business)
540-456-6518 (cell)

Reply via email to