The defence offers this in mitigation M'lud I must have had a doozy of a brain fart. Looking back over my own code that uses RETLW (some of which I've actually posted too) it's clear to me I do know how to use RETLW and PCLATH Exhibit 1, LED matrix s/w get5 movlw 0x06 ;get shape data from 06xxh movwf pclath movf c_byte,w call chars ;get shape data byte movwf indf ;save it to display ram org 600h ;UC and special character shapes chars addwf pcl,f retlw 0x7e ;A retlw 0x09 retlw 0x09 What happened with the latest kerfuffle is that I didn't think of the 0x01, 0x02 etc as data, but just bit manipulation as part of a calculation, so consequently gave the address of the "data" no thought at all D'oh !! Also, and this really didn't help at all, although PCL, PCLATH and PCLATU are in the Watch window, MPLAB was showing a changing non-zero value for PCL only. It wasn't until I ran MPLAB again that PCLATH/PCLATU's values magically appeared, which was when I figured out what was going on Thanks to all for the slap on the back of the head. I deserved it. Heck, I earned it Live and learn -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics