> It's a bit more involved than that. what was missing from the original > fragment was the computed jump to get to the correct return based on the > current column. This bit you mean... ; use this code to access the table movlw Buffer movwf pBuffer ;the address of the start of buffer movlw 'A' - 0x41 ;letter 'A' needs an offset of zero call CharRead ; ;************************************************ ; TableRead ;************************************************ ; Read 5 bytes of data from the table corresponding ; to the 5 columns of the character for the Display ; ; call with offset in the w register and ; pBuffer with correct value for FSR to point ; at location for data ; ;************************************************ org 0x6EB ;make sure the table is located in the first code page CharReadintoBuffer movwf offset movlw Buffer movwf FSR goto InitCharLoop CharRead movwf offset ;w reg contains the offset for the characetr required movf pBuffer,W ;pBuffer contains the address of the movwf FSR ;first byte to copy the data to InitCharLoop movlw 0x05 movwf ColCount ;5 columns, so 5 bytes of data to read from the table CharLoop movlw HIGH CharTable movwf PCLATH ;initialise PCLATH movf offset,w call CharTable ;get value from table into w reg movwf INDF ;copy into Buffer incf FSR,F incf offset,f decfsz ColCount,f ;stop after 5 values read goto CharLoop movfw FSR movwf pBuffer ;update pBuffer with correct FSR location return org 0x700 ; character data table fits in exactly 256 bytes CharTable addwf PCL,F retlw 0x7E ;'A' retlw 0x09 retlw 0x09 retlw 0x09 retlw 0x7E retlw 0x7F ;'B' retlw 0x49 retlw 0x49 retlw 0x49 retlw 0x36 ;rest of alphabet follows -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist