I'm trying to write a program on PIC18F4550 where I have data defined in my memory and want to send it to PORTC character by character. I have done so but the values showing on PORTC are not the ones shown in the TABLAT register. For example, in my code, the string "NAME" is read as "FAEE". I have tried storing them in a file register and the WREG and the values show up correctly. Is this normal behaviour for ports, or am I missing something? I'm using the simulator tool on MPLAB V5.30
LIST p=18f4550
INCLUDE <p18f4550.inc>
ORG 0x00 ; Program Origin/Start Address
MAIN
CLRF TRISC
MOVLW 0X0
MOVWF TBLPTRL
MOVLW 0X05
MOVWF TBLPTRH
READ
TBLRD*+
MOVF TABLAT, W
BZ EXIT
MOVWF PORTC
GOTO READ
EXIT
GOTO $ ; This Line Is To Keep The Program Running, Not To Terminate
ORG 0x500
NAME DB "NAME",'0'
END ; Program End