Thank you for yor comments,
Joe: adding DEC statement caused the value in Terminal program incorrect , it spits more character

This is my code, please check if there is something wrong with fuses or defines
I use 18F2550, 10mhz xtal with hs pll ( 40mhz)

Code:
ASM
        __CONFIG    _CONFIG1L, _PLLDIV_10_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_1_1L
        __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H
        __CONFIG    _CONFIG2L, _PWRT_ON_2L & _BOR_ON_2L & _VREGEN_OFF_2L
        __CONFIG    _CONFIG2H, _WDT_OFF_2H & _WDTPS_512_2H
        __CONFIG    _CONFIG3H, _PBADEN_OFF_3H & _MCLRE_ON_3H  & _CCP2MX_ON_3H
        __CONFIG    _CONFIG4L, _LVP_OFF_4L & _XINST_OFF_4L  & _DEBUG_OFF_4L
           
ENDASM

define OSC 40
DEFINE LCD_DREG PORTB     ' LCD data port
DEFINE LCD_DBIT 0         ' LCD data starting bit
DEFINE LCD_RSREG PORTB    ' LCD register select port
DEFINE LCD_RSBIT 4        ' LCD register select bit
DEFINE LCD_EREG PORTB     ' LCD enable port
DEFINE LCD_EBIT 5         ' LCD enable bit
DEFINE LCD_BITS 4         ' LCD data bus size
DEFINE LCD_LINES 2        ' Number lines on LCD
DEFINE LCD_COMMANDUS 1500 ' Command delay time in us
DEFINE LCD_DATAUS 44      ' Data delay time in us

DEFINE ADC_BITS 8               ' ADC resolution 8 bit
DEFINE ADC_CLOCK 3              ' 
DEFINE ADC_SAMPLEUS 50

define HSER_RCSTA 90H
DEFINE HSER_TXSTA 20H
DEFINE HSER_BAUD 9600
DEFINE HSER_SPBRG 25
DEFINE HSER_CLROERR 1

reading var byte


clear
porta = 0
portb = 0
portc = 0
TRISA = %00000001               ' Set PORTA to all input
TRISB = %00000000               ' Set PORTB to all output
TRISC = %00000000               ' Set PORTC.7 as input, other RC as output
ADCON1 = %00001110


LCDOUT $FE, 1  
pause 100


main:
adcin 0,reading
lcdout $Fe,1,"   Value    "
LCDOUT $FE, $C0, dec reading
pause 50
hserout [reading ]
pause 50
goto main