please dont rip this site

PIC 18C Microcontoller Program Flow Method

Unlimited computed goto (or table lookup)

Bob Ammerman [rammerman at prodigy.net] of RAm Systems says

The PIC18Cxx2 chips contain quite a few nice new features. One of the neatest is programmable access to the stack. This feature allows many powerful tricks.

Notes:

  1. this code has _NOT_ been tested!
  2. all multi-byte values are little-endian
  3. I assume the code space never exceeds 16 bits worth (which it never will on the 242, 252, 442 or 452 chips).
Unlimited computed goto (or table lookup)
   Allows tables aligned on any boundary, of any size that will
   fit in memory.

 CBLOCK
   GOTOARG:2 ; Table index
 ENDC

 mov?? GOTOARG  ; setup argument
 rcall comp_goto
 retlw xxx
 retlw xxx
 .
 .
 retlw xxx

comp_goto:
 movf GOTOARG,W,A ; get lsbits of argument
 addwf TOSL,F,A
 movf GOTOARG+1,W,A ; get msbits of argument
 addwfc TOSH,F,A
 return

Note: Alternatively 'comp_goto' could itself compute the value to be added
to TOSx instead of setting it up before hand.

Note: GOTOARG should be even!


file: /Techref/microchip/18c/ongoto-ba.htm, 1KB, , updated: 2000/6/30 11:52, local time: 2024/12/25 09:07,
TOP NEW HELP FIND: 
3.21.105.222:LOG IN

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF="http://linistepper.com/techref/microchip/18c/ongoto-ba.htm"> PIC Microcontoller 18C Program Flow Method for Unlimited computed goto (or table lookup)</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.


Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?