If you know the call is within the current page use a regular CALL. However if you know the call is beyond the page boundary use the LCALL and LSET. We know the Parallax assembler is not optimizing but then neither is MPASM. Cheers. At 04:08 PM 4/28/97 -0300, you wrote: >>>The problem with LCALL is that it doesn't set PCLATH after the return. >> >>Use this format >> >> LCALL far_procedure >> LSET $ >> >>That's what LSET is for. >> >>Andy > >But then, the assembler will always insert the instruction, I want it just >when it is needed. The point is I want to not care about if the routine is >in the first or second page. > >Octavio >====================================================== >Octavio Nogueira - e-mail: nogueira@mandic.com.br >http://www.geocities.com/~oct_nogueira >"ProPic" Production PIC Programmer Windows under US$20 >====================================================== > > ****************************** Richard Katezansky Tangent Electronics Ltd. Montreal, Canada ******************************