Hi all;
I took the 82104A Owner's Handbook in order to remember any possible difference between [7GSBI] and [XEQ IND 25] (also [7GTOI] and [GTO IND 25]) and I found only two specific references about using one or another in an HP41 program. Both refer to the fact that rapid reverse branching is not possible in an HP41 program, i.e., negative numbers in R25 will always cause [NONEXISTENT] message and program halting if either [7GTOI] or [7GSBI] are executed (unless flag 25 is set). Anyway, if [XEQ IND 25] or [GTO IND 25] are executed when a negative number is stored in R25, a label with a value equivalent to the absolute contents of R25 is searched for in the current program.
I'm mentioning these facts because when I read Karl's complete and precise answer, I thought "What are [7GSBI] and [7GTOI] good for if one can use [XEQ IND 25] or [GTO IND 25] instead?"
Now I see the truth of it... If an HP67/97 program uses rapid reverse branching and its translated version has its [7GTOI] or [7GSBI] replaced by [GTO IND 25] or [XEQ IND 25] respectively, it may give wrong results instead of showing [NONEXISTENT], what is actually an accurate behavior. I wrote "may give wrong results" because if the equivalent label with a value that is equal to the absolute contents of R25 exists, the program will branch (jump) to that label without any warning. In other hand, this supposed label may also not exist in the original program, so either [GTO IND 25] or [XEQ IND 25] will result in [NONEXISTENT] as well d;^) (I hope my analysis is not too confusing)
Thank you, Karl; I'd never figured that out before
Cheers.
Luiz (Brazil)
Edited: 25 Apr 2004, 12:40 a.m.