USING can take more than one register, so the range may be more than 4 KiB even 
for old instructions.

I'm confused.Is the issue jump versus R-form branch or jump versus RX-form 
branch? An R-form branch with bad register contents will certainly take you to 
Cloud La-La Land, but an out of range label on either a branch or a jump should 
give you an error at assembly time.



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

________________________________________
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Mark Hammack [mark.hamm...@gmail.com]
Sent: Friday, March 4, 2022 3:58 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Jump vs. Branch

Using BRANCH, LABEL would need to be within +4k (x'0FFF') of the
*current* USING.
If you have USING/DROP on each subroutine, LABEL may or may not fall into
that range.  If it does, the program will branch to LABEL and go into lala
land.  If it doesn't, the assembler will throw an error.

Using JUMP, LABEL needs to be +/- 64k (BRC) from the current instruction.
No assembler error but the run time error still exists.

In the case that caused the S0Cx, B LABEL would have been caught by the
assembler.



*Mark*

Reply via email to