Robert Rolf wrote 2013-10-03 03:15: > One oversight many programmers make is to have a call to some > close-up/finish routine, immediately followed by a return to a higher > level. Just GOTO that call and let IT do the return to save on the local > return word. > > There may even be occasions where you can rearrange the code so that > the 'goto' becomes a 'fall through' so no branch required to get into > the final function. > > I saved 10's of words by carefully rearranging my hex/decimal output > routines so that I could use a lot of 'fall through' to complete > functions. > > If you can group your subroutines into one bank, and KNOW that they > will always be called from within that bank, you can eliminate a lot of > bank switching. > Yes, I did that too back in the old days when every byte counted. I did a 2= =20 channel 1-wire driver chip with a serial interface to a host cpu using a 1k= 12F=20 PIC. Even though the code was (relatively) well documented, it was a pain t= o=20 add new features without breaking the old, every couple of years apart. Now I just make sure to have plenty of flash, ram and MHz and use C instead= of=20 asm. This way, the chip silicon and the C-compiler does a lot of the work m= y=20 brain had to do. Although it takes more cyckles, flash and ram to do the sa= me=20 thing in the chip, it is a huge improvement in development and maintenance= =20 time. /Ruben =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Ruben J=F6nsson AB Liros Electronic Box 9124 200 39 Malm=F6 Sweden www.liros.se Tel +46 40142078 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .