> >main: > > call func > >pointa: > > ... > > > >func: > > ... > > call func > >pointb: > > ... > > return > > Wouldn't this just keep cycling between "func:" and "call func", never > getting to the "return" instruction? Yes, except that the "..."s represent additional code that would determine when to exit the recursion. Bob Ammerman RAm Systems (contract development of high performance, high function, low-level software) -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu