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*