PIC Microcontoller Memory Method

18C Literal String Tables

Bob Ammerman of RAm Systems says:

In the 18C you could handle literal strings like this:
        rcall    display_it
        ...store the characters in memory right here...
        ...next instruction to execute...

display_it:
        movff    tosl,tblptrl
        movff    tosh,tblptrh
        movff   tosu,tblptru        ; can omit when we know tblptru is 0 and we have <= 64K of memory

        ... process the characters, incrementing TBLPTR as you go
(TBLRD*+)...

        btfsc     tblptrl,0            ; make sure we handled an even number
of chars
        tblrd*+                           ; do dummy read to align on even
character position


       movf    tblptrl,W,A
       movwf tosl,A
       movf    tblptrh,W,A
       movwf tosh,A
       movf    tblptru,W,A  ; can omit when we have ...
       movwf tosu,A          ; .. <= 64K of memory

        return

Note that LFSR is broken on some 18C chips! Using it causes random (ie: unpredicted) changes to RAM.

Archive: