At 12:07 05/09/1999 , Albert York wrote:
>Now I'm curious. In my experience, a subroutine call involved saving the
>current address (usually on a stack), branching to the subroutine, and
>branching back to the saved address ( plus 1 instruction) at the end of the
>subroutine. If RPG doesn't do it this way, how does it do it?

Several years ago, I had a program that did something like this:

mainline calls Sub A
Sub A calls Sub B
Sub B calls Sub C
Sub C calls Sub A
Sub A returns to mainline (not Sub C) - this was not the desired behavior

>From this experience, I surmise that subroutine returns are implemented as
branches to a program counter address which is set at the time the
subroutine is first invoked. RPG doesn't complain about recursion either.
It just doesn't work.
Pete Hall
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to
| To subscribe to this list send email to
| To unsubscribe from this list send email to
| Questions should be directed to the list owner/operator:

This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page