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 returnNote that LFSR is broken on some 18C chips! Using it causes random (ie: unpredicted) changes to RAM.
Archive: