Code:
@ device pic16F877A, HS_OSC
@ device WDT_OFF
@ device PWRT_OFF
@ device BOD_OFF
@ device LVP_OFF
@ device WRT_OFF
@ device CPD_OFF
@ device DEBUG_OFF

Define  OSC				4						' Set clock speed
DEFINE  SER2_BITS		8						' Ser2 number of data bits
DEFINE LCD_DREG PORTD		'LCD data port
DEFINE LCD_DBIT 0			'LCD data starting bit 0 or 4
DEFINE LCD_RSREG PORTC		'LCD register select port
DEFINE LCD_RSBIT 5			'LCD register select bit
DEFINE LCD_EREG PORTC		'LCD enable port
DEFINE LCD_EBIT 7			'LCD enable bit
DEFINE LCD_RWREG PORTC		'LCD read/write port
DEFINE LCD_RWBIT 6			'LCD read/write bit
DEFINE LCD_BITS 8			'LCD bus size 4 or 8
DEFINE LCD_LINES 2			'Number lines on LCD
DEFINE LCD_COMMANDUS 2000	'Command delay time in us
DEFINE LCD_DATAUS 50		'Data delay time in us
'Pause 1000

loop:
LCDOUT $FE, 1, 2, "INITIALISING"
LCDOUT $FE, $C0, "Hello"
goto loop