Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
;/////////////////////////////////////////////////////////////////////////////////
;/////////////////////////////////////////////////////////////////////////////////
include "P18F4520.inc"
__HEAPSTART EQU 0x00000038 ; Start address of heap
__HEAPEND EQU 0x000005FF ; End address of heap
__div_16_1_00003_arg_a EQU 0x00000029 ; bytes:2
__div_16_1_00003_arg_b EQU 0x0000002B ; bytes:2
CompTempVarRet198 EQU 0x00000032 ; bytes:2
__div_16_1_00003_1_r EQU 0x0000002F ; bytes:2
__div_16_1_00003_1_i EQU 0x00000031 ; bytes:1
gbl_status EQU 0x00000FD8 ; bytes:1
gbl_prodl EQU 0x00000FF3 ; bytes:1
gbl_prodh EQU 0x00000FF4 ; bytes:1
gbl_16_LSR EQU 0x00000005 ; bytes:4
gbl_float_detect_tininess EQU 0x0000001B ; bytes:1
gbl_float_rounding_mode EQU 0x0000001C ; bytes:1
gbl_float_exception_flags EQU 0x0000001D ; bytes:1
gbl_17_gbl_aSig EQU 0x00000009 ; bytes:4
gbl_17_gbl_bSig EQU 0x0000000D ; bytes:4
gbl_17_gbl_zSig EQU 0x00000011 ; bytes:4
gbl_17_gbl_aExp EQU 0x0000001E ; bytes:1
gbl_17_gbl_bExp EQU 0x0000001F ; bytes:1
gbl_17_gbl_zExp EQU 0x00000019 ; bytes:2
gbl_17_gbl_aSign EQU 0x00000020 ; bytes:1
gbl_17_gbl_bSign EQU 0x00000021 ; bytes:1
gbl_17_gbl_zSign EQU 0x00000022 ; bytes:1
gbl_17_gbl_zSigZero EQU 0x00000023 ; bytes:1
gbl_17_gbl_ret EQU 0x00000015 ; bytes:4
gbl_porta EQU 0x00000F80 ; bytes:1
gbl_portb EQU 0x00000F81 ; bytes:1
gbl_portc EQU 0x00000F82 ; bytes:1
gbl_portd EQU 0x00000F83 ; bytes:1
gbl_porte EQU 0x00000F84 ; bytes:1
gbl_lata EQU 0x00000F89 ; bytes:1
gbl_latb EQU 0x00000F8A ; bytes:1
gbl_latc EQU 0x00000F8B ; bytes:1
gbl_latd EQU 0x00000F8C ; bytes:1
gbl_late EQU 0x00000F8D ; bytes:1
gbl_ddra EQU 0x00000F92 ; bytes:1
gbl_trisa EQU 0x00000F92 ; bytes:1
gbl_ddrb EQU 0x00000F93 ; bytes:1
gbl_trisb EQU 0x00000F93 ; bytes:1
gbl_ddrc EQU 0x00000F94 ; bytes:1
gbl_trisc EQU 0x00000F94 ; bytes:1
gbl_ddrd EQU 0x00000F95 ; bytes:1
gbl_trisd EQU 0x00000F95 ; bytes:1
gbl_ddre EQU 0x00000F96 ; bytes:1
gbl_trise EQU 0x00000F96 ; bytes:1
gbl_osctune EQU 0x00000F9B ; bytes:1
gbl_pie1 EQU 0x00000F9D ; bytes:1
gbl_pir1 EQU 0x00000F9E ; bytes:1
gbl_ipr1 EQU 0x00000F9F ; bytes:1
gbl_pie2 EQU 0x00000FA0 ; bytes:1
gbl_pir2 EQU 0x00000FA1 ; bytes:1
gbl_ipr2 EQU 0x00000FA2 ; bytes:1
gbl_eecon1 EQU 0x00000FA6 ; bytes:1
gbl_eecon2 EQU 0x00000FA7 ; bytes:1
gbl_eedata EQU 0x00000FA8 ; bytes:1
gbl_eeadr EQU 0x00000FA9 ; bytes:1
gbl_rcsta EQU 0x00000FAB ; bytes:1
gbl_txsta EQU 0x00000FAC ; bytes:1
gbl_txreg EQU 0x00000FAD ; bytes:1
gbl_rcreg EQU 0x00000FAE ; bytes:1
gbl_spbrg EQU 0x00000FAF ; bytes:1
gbl_spbrgh EQU 0x00000FB0 ; bytes:1
gbl_t3con EQU 0x00000FB1 ; bytes:1
gbl_tmr3l EQU 0x00000FB2 ; bytes:1
gbl_tmr3h EQU 0x00000FB3 ; bytes:1
gbl_cmcon EQU 0x00000FB4 ; bytes:1
gbl_cvrcon EQU 0x00000FB5 ; bytes:1
gbl_eccp1as EQU 0x00000FB6 ; bytes:1
gbl_pwm1con EQU 0x00000FB7 ; bytes:1
gbl_baudcon EQU 0x00000FB8 ; bytes:1
gbl_baudctl EQU 0x00000FB8 ; bytes:1
gbl_ccp2con EQU 0x00000FBA ; bytes:1
gbl_ccpr2 EQU 0x00000FBB ; bytes:1
gbl_ccpr2l EQU 0x00000FBB ; bytes:1
gbl_ccpr2h EQU 0x00000FBC ; bytes:1
gbl_ccp1con EQU 0x00000FBD ; bytes:1
gbl_ccpr1 EQU 0x00000FBE ; bytes:1
gbl_ccpr1l EQU 0x00000FBE ; bytes:1
gbl_ccpr1h EQU 0x00000FBF ; bytes:1
gbl_adcon2 EQU 0x00000FC0 ; bytes:1
gbl_adcon1 EQU 0x00000FC1 ; bytes:1
gbl_adcon0 EQU 0x00000FC2 ; bytes:1
gbl_adres EQU 0x00000FC3 ; bytes:1
gbl_adresl EQU 0x00000FC3 ; bytes:1
gbl_adresh EQU 0x00000FC4 ; bytes:1
gbl_sspcon2 EQU 0x00000FC5 ; bytes:1
gbl_sspcon1 EQU 0x00000FC6 ; bytes:1
gbl_sspstat EQU 0x00000FC7 ; bytes:1
gbl_sspadd EQU 0x00000FC8 ; bytes:1
gbl_sspbuf EQU 0x00000FC9 ; bytes:1
gbl_t2con EQU 0x00000FCA ; bytes:1
gbl_pr2 EQU 0x00000FCB ; bytes:1
gbl_tmr2 EQU 0x00000FCC ; bytes:1
gbl_t1con EQU 0x00000FCD ; bytes:1
gbl_tmr1l EQU 0x00000FCE ; bytes:1
gbl_tmr1h EQU 0x00000FCF ; bytes:1
gbl_rcon EQU 0x00000FD0 ; bytes:1
gbl_wdtcon EQU 0x00000FD1 ; bytes:1
gbl_hlvdcon EQU 0x00000FD2 ; bytes:1
gbl_lvdcon EQU 0x00000FD2 ; bytes:1
gbl_osccon EQU 0x00000FD3 ; bytes:1
gbl_t0con EQU 0x00000FD5 ; bytes:1
gbl_tmr0l EQU 0x00000FD6 ; bytes:1
gbl_tmr0h EQU 0x00000FD7 ; bytes:1
gbl_fsr2l EQU 0x00000FD9 ; bytes:1
gbl_fsr2h EQU 0x00000FDA ; bytes:1
gbl_plusw2 EQU 0x00000FDB ; bytes:1
gbl_preinc2 EQU 0x00000FDC ; bytes:1
gbl_postdec2 EQU 0x00000FDD ; bytes:1
gbl_postinc2 EQU 0x00000FDE ; bytes:1
gbl_indf2 EQU 0x00000FDF ; bytes:1
gbl_bsr EQU 0x00000FE0 ; bytes:1
gbl_fsr1l EQU 0x00000FE1 ; bytes:1
gbl_fsr1h EQU 0x00000FE2 ; bytes:1
gbl_plusw1 EQU 0x00000FE3 ; bytes:1
gbl_preinc1 EQU 0x00000FE4 ; bytes:1
gbl_postdec1 EQU 0x00000FE5 ; bytes:1
gbl_postinc1 EQU 0x00000FE6 ; bytes:1
gbl_indf1 EQU 0x00000FE7 ; bytes:1
gbl_wreg EQU 0x00000FE8 ; bytes:1
gbl_fsr0l EQU 0x00000FE9 ; bytes:1
gbl_fsr0h EQU 0x00000FEA ; bytes:1
gbl_plusw0 EQU 0x00000FEB ; bytes:1
gbl_preinc0 EQU 0x00000FEC ; bytes:1
gbl_postdec0 EQU 0x00000FED ; bytes:1
gbl_postinc0 EQU 0x00000FEE ; bytes:1
gbl_indf0 EQU 0x00000FEF ; bytes:1
gbl_intcon3 EQU 0x00000FF0 ; bytes:1
gbl_intcon2 EQU 0x00000FF1 ; bytes:1
gbl_intcon EQU 0x00000FF2 ; bytes:1
gbl_prod EQU 0x00000FF3 ; bytes:1
gbl_tablat EQU 0x00000FF5 ; bytes:1
gbl_tblptr EQU 0x00000FF6 ; bytes:1
gbl_tblptrl EQU 0x00000FF6 ; bytes:1
gbl_tblptrh EQU 0x00000FF7 ; bytes:1
gbl_tblptru EQU 0x00000FF8 ; bytes:1
gbl_pc EQU 0x00000FF9 ; bytes:1
gbl_pcl EQU 0x00000FF9 ; bytes:1
gbl_pclath EQU 0x00000FFA ; bytes:1
gbl_pclatu EQU 0x00000FFB ; bytes:1
gbl_stkptr EQU 0x00000FFC ; bytes:1
gbl_tos EQU 0x00000FFD ; bytes:1
gbl_tosl EQU 0x00000FFD ; bytes:1
gbl_tosh EQU 0x00000FFE ; bytes:1
gbl_tosu EQU 0x00000FFF ; bytes:1
Wdt_Delay__0003C_arg_delay EQU 0x00000029 ; bytes:1
Wdt_Delay__0003C_1_i EQU 0x0000002A ; bytes:1
FCD_LCDDis_0003D_arg_in EQU 0x00000034 ; bytes:1
FCD_LCDDis_0003D_arg_mask EQU 0x00000035 ; bytes:1
FCD_LCDDis_0003D_1_pt EQU 0x00000036 ; bytes:1
FCD_LCDDis_00040_arg_Character EQU 0x00000024 ; bytes:1
FCD_LCDDis_00041_arg_in EQU 0x00000028 ; bytes:1
FCD_LCDDis_00042_arg_x EQU 0x00000027 ; bytes:1
FCD_LCDDis_00042_arg_y EQU 0x00000028 ; bytes:1
FCD_LCDDis_00043_arg_Number EQU 0x00000024 ; bytes:2
FCD_LCDDis_00043_1_tmp_int EQU 0x00000026 ; bytes:2
FCD_LCDDis_00043_1_tmp_byte EQU 0x00000028 ; bytes:1
CompTempVar2182 EQU 0x00000029 ; bytes:1
CompTempVar2185 EQU 0x0000002D ; bytes:1
CompTempVar2188 EQU 0x0000002D ; bytes:1
CompTempVar2189 EQU 0x0000002E ; bytes:1
CompTempVar2192 EQU 0x0000002D ; bytes:1
CompTempVar2193 EQU 0x0000002E ; bytes:1
CompTempVar2194 EQU 0x00000029 ; bytes:1
CompTempVar2196 EQU 0x0000002D ; bytes:1
CompTempVar2197 EQU 0x0000002E ; bytes:1
CompTempVar2198 EQU 0x00000029 ; bytes:1
FCD_LCDDis_00044_arg_String EQU 0x00000024 ; bytes:2
FCD_LCDDis_00044_arg_MSZ_String EQU 0x00000032 ; bytes:1
FCD_LCDDis_00044_1_idx EQU 0x00000033 ; bytes:1
FCD_LCDDis_00045_arg_Direction EQU 0x00000024 ; bytes:1
FCD_LCDDis_00045_arg_Num_P_00046 EQU 0x00000025 ; bytes:1
FCD_LCDDis_00045_1_cmd EQU 0x00000026 ; bytes:1
FCD_LCDDis_00045_1_count EQU 0x00000027 ; bytes:1
FCD_LCDDis_00047_arg_Line EQU 0x00000024 ; bytes:1
FCD_LCDDis_00047_1_count EQU 0x00000025 ; bytes:1
FCD_LCDDis_00047_1_rowcount EQU 0x00000026 ; bytes:1
CompTempVar2208 EQU 0x00000026 ; bytes:12
delay_10us_00000_arg_del EQU 0x00000037 ; bytes:1
delay_ms_00000_arg_del EQU 0x0000002B ; bytes:1
Int1Context EQU 0x00000001 ; bytes:4
ORG 0x00000000
GOTO _startup
ORG 0x00000008
GOTO interrupt
ORG 0x0000000C
delay_ms_00000
; { delay_ms ; function begin
MOVF delay_ms_00000_arg_del, F
NOP
BNZ label1
RETURN
label1
MOVLW 0xF5
label2
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
ADDLW 0xFF
BTFSS STATUS,Z
BRA label2
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ delay_ms_00000_arg_del, F
BRA label1
RETURN
; } delay_ms function end
ORG 0x0000005C
delay_10us_00000
; { delay_10us ; function begin
MOVF delay_10us_00000_arg_del, F
NOP
BNZ label3
RETURN
label3
MOVLW 0x09
label4
NOP
ADDLW 0xFF
BTFSS STATUS,Z
BRA label4
NOP
NOP
DECFSZ delay_10us_00000_arg_del, F
BRA label3
RETURN
; } delay_10us function end
ORG 0x00000078
Wdt_Delay__0003C
; { Wdt_Delay_Ms ; function begin
CLRF Wdt_Delay__0003C_1_i
label5
MOVF Wdt_Delay__0003C_arg_delay, W
CPFSLT Wdt_Delay__0003C_1_i
RETURN
CLRWDT
MOVLW 0x01
MOVWF delay_ms_00000_arg_del
CALL delay_ms_00000
INCF Wdt_Delay__0003C_1_i, F
BRA label5
; } Wdt_Delay_Ms function end
ORG 0x0000008E
FCD_LCDDis_0003D
; { FCD_LCDDisplay0_RawSend ; function begin
BCF gbl_portb,0
BCF gbl_portb,1
BCF gbl_portb,2
BCF gbl_portb,3
BCF gbl_portb,4
BCF gbl_portb,5
SWAPF FCD_LCDDis_0003D_arg_in, W
ANDLW 0x0F
MOVWF FCD_LCDDis_0003D_1_pt
MOVLW 0x0F
ANDWF FCD_LCDDis_0003D_1_pt, F
BTFSC FCD_LCDDis_0003D_1_pt,0
BSF gbl_portb,0
BTFSC FCD_LCDDis_0003D_1_pt,1
BSF gbl_portb,1
BTFSC FCD_LCDDis_0003D_1_pt,2
BSF gbl_portb,2
BTFSC FCD_LCDDis_0003D_1_pt,3
BSF gbl_portb,3
MOVF FCD_LCDDis_0003D_arg_mask, F
BTFSS STATUS,Z
BSF gbl_portb,4
MOVLW 0x0A
MOVWF delay_10us_00000_arg_del
CALL delay_10us_00000
BSF gbl_portb,5
MOVLW 0x0A
MOVWF delay_10us_00000_arg_del
CALL delay_10us_00000
BCF gbl_portb,5
MOVLW 0x0F
ANDWF FCD_LCDDis_0003D_arg_in, W
MOVWF FCD_LCDDis_0003D_1_pt
MOVLW 0x0A
MOVWF delay_10us_00000_arg_del
CALL delay_10us_00000
BCF gbl_portb,0
BCF gbl_portb,1
BCF gbl_portb,2
BCF gbl_portb,3
BCF gbl_portb,4
BCF gbl_portb,5
BTFSC FCD_LCDDis_0003D_1_pt,0
BSF gbl_portb,0
BTFSC FCD_LCDDis_0003D_1_pt,1
BSF gbl_portb,1
BTFSC FCD_LCDDis_0003D_1_pt,2
BSF gbl_portb,2
BTFSC FCD_LCDDis_0003D_1_pt,3
BSF gbl_portb,3
MOVF FCD_LCDDis_0003D_arg_mask, F
BTFSS STATUS,Z
BSF gbl_portb,4
MOVLW 0x0A
MOVWF delay_10us_00000_arg_del
CALL delay_10us_00000
BSF gbl_portb,5
MOVLW 0x0A
MOVWF delay_10us_00000_arg_del
CALL delay_10us_00000
BCF gbl_portb,5
MOVLW 0x0A
MOVWF delay_10us_00000_arg_del
CALL delay_10us_00000
RETURN
; } FCD_LCDDisplay0_RawSend function end
ORG 0x0000011C
__div_16_1_00003
; { __div_16_16 ; function begin
CLRF __div_16_1_00003_1_r
CLRF __div_16_1_00003_1_r+D'1'
CLRF CompTempVarRet198
CLRF CompTempVarRet198+D'1'
CLRF __div_16_1_00003_1_i
label6
BTFSC __div_16_1_00003_1_i,4
RETURN
BCF STATUS,C
RLCF CompTempVarRet198, F
RLCF CompTempVarRet198+D'1', F
RLCF __div_16_1_00003_arg_a, F
RLCF __div_16_1_00003_arg_a+D'1', F
RLCF __div_16_1_00003_1_r, F
RLCF __div_16_1_00003_1_r+D'1', F
MOVF __div_16_1_00003_arg_b, W
SUBWF __div_16_1_00003_1_r, W
MOVF __div_16_1_00003_arg_b+D'1', W
CPFSEQ __div_16_1_00003_1_r+D'1'
SUBWF __div_16_1_00003_1_r+D'1', W
BNC label7
MOVF __div_16_1_00003_arg_b, W
SUBWF __div_16_1_00003_1_r, F
MOVF __div_16_1_00003_arg_b+D'1', W
SUBWFB __div_16_1_00003_1_r+D'1', F
BSF CompTempVarRet198,0
label7
INCF __div_16_1_00003_1_i, F
BRA label6
; } __div_16_16 function end
ORG 0x00000152
FCD_LCDDis_00042
; { FCD_LCDDisplay0_Cursor ; function begin
MOVF FCD_LCDDis_00042_arg_y, F
BNZ label8
MOVLW 0x80
MOVWF FCD_LCDDis_00042_arg_y
BRA label9
label8
MOVLW 0xC0
MOVWF FCD_LCDDis_00042_arg_y
label9
MOVF FCD_LCDDis_00042_arg_x, W
ADDWF FCD_LCDDis_00042_arg_y, W
MOVWF FCD_LCDDis_0003D_arg_in
CLRF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVLW 0x02
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
RETURN
; } FCD_LCDDisplay0_Cursor function end
ORG 0x00000176
FCD_LCDDis_00041
; { FCD_LCDDisplay0_Command ; function begin
MOVF FCD_LCDDis_00041_arg_in, W
MOVWF FCD_LCDDis_0003D_arg_in
CLRF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVLW 0x02
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
RETURN
; } FCD_LCDDisplay0_Command function end
ORG 0x0000018A
FCD_LCDDis_00047
; { FCD_LCDDisplay0_ClearLine ; function begin
MOVLW 0x28
MOVWF FCD_LCDDis_00047_1_rowcount
CLRF FCD_LCDDis_00042_arg_x
MOVF FCD_LCDDis_00047_arg_Line, W
MOVWF FCD_LCDDis_00042_arg_y
CALL FCD_LCDDis_00042
CLRF FCD_LCDDis_00047_1_count
label10
MOVF FCD_LCDDis_00047_1_rowcount, W
CPFSLT FCD_LCDDis_00047_1_count
BRA label11
MOVLW 0x20
MOVWF FCD_LCDDis_0003D_arg_in
MOVLW 0x10
MOVWF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
INCF FCD_LCDDis_00047_1_count, F
BRA label10
label11
CLRF FCD_LCDDis_00042_arg_x
MOVF FCD_LCDDis_00047_arg_Line, W
MOVWF FCD_LCDDis_00042_arg_y
CALL FCD_LCDDis_00042
RETURN
; } FCD_LCDDisplay0_ClearLine function end
ORG 0x000001BC
FCD_LCDDis_00045
; { FCD_LCDDisplay0_ScrollDisplay ; function begin
CLRF FCD_LCDDis_00045_1_cmd
MOVF FCD_LCDDis_00045_arg_Direction, F
BZ label15
MOVLW 0x6C
CPFSEQ FCD_LCDDis_00045_arg_Direction
BRA label12
BRA label15
label12
MOVLW 0x4C
CPFSEQ FCD_LCDDis_00045_arg_Direction
BRA label13
BRA label15
label13
DECF FCD_LCDDis_00045_arg_Direction, W
BZ label16
MOVLW 0x72
CPFSEQ FCD_LCDDis_00045_arg_Direction
BRA label14
BRA label16
label14
MOVLW 0x52
CPFSEQ FCD_LCDDis_00045_arg_Direction
BRA label17
BRA label16
label15
MOVLW 0x18
MOVWF FCD_LCDDis_00045_1_cmd
BRA label17
label16
MOVLW 0x1C
MOVWF FCD_LCDDis_00045_1_cmd
label17
MOVF FCD_LCDDis_00045_1_cmd, F
BTFSC STATUS,Z
RETURN
CLRF FCD_LCDDis_00045_1_count
label18
MOVF FCD_LCDDis_00045_arg_Num_P_00046, W
CPFSLT FCD_LCDDis_00045_1_count
RETURN
MOVF FCD_LCDDis_00045_1_cmd, W
MOVWF FCD_LCDDis_00041_arg_in
CALL FCD_LCDDis_00041
INCF FCD_LCDDis_00045_1_count, F
BRA label18
; } FCD_LCDDisplay0_ScrollDisplay function end
ORG 0x0000020A
FCD_LCDDis_00044
; { FCD_LCDDisplay0_PrintString ; function begin
CLRF FCD_LCDDis_00044_1_idx
CLRF FCD_LCDDis_00044_1_idx
label19
MOVF FCD_LCDDis_00044_arg_MSZ_String, W
CPFSLT FCD_LCDDis_00044_1_idx
RETURN
MOVF FCD_LCDDis_00044_arg_String+D'1', W
MOVWF FSR0H
MOVF FCD_LCDDis_00044_arg_String, W
ADDWF FCD_LCDDis_00044_1_idx, W
MOVWF FSR0L
MOVF INDF0, F
BTFSC STATUS,Z
RETURN
MOVF FCD_LCDDis_00044_arg_String+D'1', W
MOVWF FSR0H
MOVF FCD_LCDDis_00044_arg_String, W
ADDWF FCD_LCDDis_00044_1_idx, W
MOVWF FSR0L
MOVF INDF0, W
MOVWF FCD_LCDDis_0003D_arg_in
MOVLW 0x10
MOVWF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
INCF FCD_LCDDis_00044_1_idx, F
BRA label19
; } FCD_LCDDisplay0_PrintString function end
ORG 0x0000023E
FCD_LCDDis_00043
; { FCD_LCDDisplay0_PrintNumber ; function begin
BTFSS FCD_LCDDis_00043_arg_Number+D'1',7
BRA label20
MOVLW 0x2D
MOVWF FCD_LCDDis_0003D_arg_in
MOVLW 0x10
MOVWF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVF FCD_LCDDis_00043_arg_Number, W
SUBLW 0x00
MOVWF CompTempVar2182
COMF FCD_LCDDis_00043_arg_Number+D'1', F
BTFSC STATUS,C
INCF FCD_LCDDis_00043_arg_Number+D'1', F
MOVF CompTempVar2182, W
MOVWF FCD_LCDDis_00043_arg_Number
label20
MOVF FCD_LCDDis_00043_arg_Number, W
MOVWF FCD_LCDDis_00043_1_tmp_int
MOVF FCD_LCDDis_00043_arg_Number+D'1', W
MOVWF FCD_LCDDis_00043_1_tmp_int+D'1'
MOVF FCD_LCDDis_00043_arg_Number+D'1', W
SUBLW 0x27
BNZ label21
MOVF FCD_LCDDis_00043_arg_Number, W
SUBLW 0x10
label21
BNC label22
BNZ label26
label22
BTFSC FCD_LCDDis_00043_arg_Number+D'1',7
BRA label26
CLRF CompTempVar2185
MOVF FCD_LCDDis_00043_1_tmp_int, W
MOVWF __div_16_1_00003_arg_a
MOVF FCD_LCDDis_00043_1_tmp_int+D'1', W
MOVWF __div_16_1_00003_arg_a+D'1'
BTFSS FCD_LCDDis_00043_1_tmp_int+D'1',7
BRA label23
COMF __div_16_1_00003_arg_a, F
COMF __div_16_1_00003_arg_a+D'1', F
INCF __div_16_1_00003_arg_a, F
BTFSC STATUS,Z
INCF __div_16_1_00003_arg_a+D'1', F
INCF CompTempVar2185, F
label23
MOVLW 0x10
MOVWF __div_16_1_00003_arg_b
MOVLW 0x27
MOVWF __div_16_1_00003_arg_b+D'1'
CALL __div_16_1_00003
MOVF CompTempVarRet198, W
MOVWF FCD_LCDDis_00043_1_tmp_byte
BTFSS CompTempVar2185,0
BRA label24
COMF FCD_LCDDis_00043_1_tmp_byte, F
INCF FCD_LCDDis_00043_1_tmp_byte, F
label24
MOVF FCD_LCDDis_00043_1_tmp_byte, W
ADDLW 0x30
MOVWF FCD_LCDDis_0003D_arg_in
MOVLW 0x10
MOVWF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
label25
MOVLW 0x00
CPFSGT FCD_LCDDis_00043_1_tmp_byte
BRA label26
MOVLW 0x10
SUBWF FCD_LCDDis_00043_1_tmp_int, F
MOVLW 0x27
SUBWFB FCD_LCDDis_00043_1_tmp_int+D'1', F
DECF FCD_LCDDis_00043_1_tmp_byte, F
BRA label25
label26
MOVF FCD_LCDDis_00043_arg_Number+D'1', W
SUBLW 0x03
BNZ label27
MOVF FCD_LCDDis_00043_arg_Number, W
SUBLW 0xE8
label27
BNC label28
BNZ label32
label28
BTFSC FCD_LCDDis_00043_arg_Number+D'1',7
BRA label32
CLRF CompTempVar2189
MOVF FCD_LCDDis_00043_1_tmp_int, W
MOVWF __div_16_1_00003_arg_a
MOVF FCD_LCDDis_00043_1_tmp_int+D'1', W
MOVWF __div_16_1_00003_arg_a+D'1'
BTFSS FCD_LCDDis_00043_1_tmp_int+D'1',7
BRA label29
COMF __div_16_1_00003_arg_a, F
COMF __div_16_1_00003_arg_a+D'1', F
INCF __div_16_1_00003_arg_a, F
BTFSC STATUS,Z
INCF __div_16_1_00003_arg_a+D'1', F
INCF CompTempVar2189, F
label29
MOVLW 0xE8
MOVWF __div_16_1_00003_arg_b
MOVLW 0x03
MOVWF __div_16_1_00003_arg_b+D'1'
CALL __div_16_1_00003
MOVF CompTempVarRet198, W
MOVWF CompTempVar2188
BTFSS CompTempVar2189,0
BRA label30
COMF CompTempVar2188, F
INCF CompTempVar2188, F
label30
MOVF CompTempVar2188, W
MOVWF FCD_LCDDis_00043_1_tmp_byte
MOVF FCD_LCDDis_00043_1_tmp_byte, W
ADDLW 0x30
MOVWF FCD_LCDDis_0003D_arg_in
MOVLW 0x10
MOVWF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
label31
MOVLW 0x00
CPFSGT FCD_LCDDis_00043_1_tmp_byte
BRA label32
MOVLW 0xE8
SUBWF FCD_LCDDis_00043_1_tmp_int, F
MOVLW 0x03
SUBWFB FCD_LCDDis_00043_1_tmp_int+D'1', F
DECF FCD_LCDDis_00043_1_tmp_byte, F
BRA label31
label32
MOVF FCD_LCDDis_00043_arg_Number+D'1', W
MOVLW 0x64
BTFSC STATUS,Z
CPFSLT FCD_LCDDis_00043_arg_Number
BRA label33
BRA label37
label33
BTFSC FCD_LCDDis_00043_arg_Number+D'1',7
BRA label37
CLRF CompTempVar2193
MOVF FCD_LCDDis_00043_1_tmp_int, W
MOVWF __div_16_1_00003_arg_a
MOVF FCD_LCDDis_00043_1_tmp_int+D'1', W
MOVWF __div_16_1_00003_arg_a+D'1'
BTFSS FCD_LCDDis_00043_1_tmp_int+D'1',7
BRA label34
COMF __div_16_1_00003_arg_a, F
COMF __div_16_1_00003_arg_a+D'1', F
INCF __div_16_1_00003_arg_a, F
BTFSC STATUS,Z
INCF __div_16_1_00003_arg_a+D'1', F
INCF CompTempVar2193, F
label34
MOVLW 0x64
MOVWF __div_16_1_00003_arg_b
CLRF __div_16_1_00003_arg_b+D'1'
CALL __div_16_1_00003
MOVF CompTempVarRet198, W
MOVWF CompTempVar2192
BTFSS CompTempVar2193,0
BRA label35
COMF CompTempVar2192, F
INCF CompTempVar2192, F
label35
MOVF CompTempVar2192, W
MOVWF FCD_LCDDis_00043_1_tmp_byte
MOVF FCD_LCDDis_00043_1_tmp_byte, W
ADDLW 0x30
MOVWF FCD_LCDDis_0003D_arg_in
MOVLW 0x10
MOVWF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
label36
MOVLW 0x00
CPFSGT FCD_LCDDis_00043_1_tmp_byte
BRA label37
MOVLW 0x64
SUBWF FCD_LCDDis_00043_1_tmp_int, W
MOVWF CompTempVar2194
SUBWFB FCD_LCDDis_00043_1_tmp_int, W
SUBLW 0x64
SUBWF FCD_LCDDis_00043_1_tmp_int+D'1', F
MOVF CompTempVar2194, W
MOVWF FCD_LCDDis_00043_1_tmp_int
DECF FCD_LCDDis_00043_1_tmp_byte, F
BRA label36
label37
MOVF FCD_LCDDis_00043_arg_Number+D'1', W
MOVLW 0x0A
BTFSC STATUS,Z
CPFSLT FCD_LCDDis_00043_arg_Number
BRA label38
BRA label42
label38
BTFSC FCD_LCDDis_00043_arg_Number+D'1',7
BRA label42
CLRF CompTempVar2197
MOVF FCD_LCDDis_00043_1_tmp_int, W
MOVWF __div_16_1_00003_arg_a
MOVF FCD_LCDDis_00043_1_tmp_int+D'1', W
MOVWF __div_16_1_00003_arg_a+D'1'
BTFSS FCD_LCDDis_00043_1_tmp_int+D'1',7
BRA label39
COMF __div_16_1_00003_arg_a, F
COMF __div_16_1_00003_arg_a+D'1', F
INCF __div_16_1_00003_arg_a, F
BTFSC STATUS,Z
INCF __div_16_1_00003_arg_a+D'1', F
INCF CompTempVar2197, F
label39
MOVLW 0x0A
MOVWF __div_16_1_00003_arg_b
CLRF __div_16_1_00003_arg_b+D'1'
CALL __div_16_1_00003
MOVF CompTempVarRet198, W
MOVWF CompTempVar2196
BTFSS CompTempVar2197,0
BRA label40
COMF CompTempVar2196, F
INCF CompTempVar2196, F
label40
MOVF CompTempVar2196, W
MOVWF FCD_LCDDis_00043_1_tmp_byte
MOVF FCD_LCDDis_00043_1_tmp_byte, W
ADDLW 0x30
MOVWF FCD_LCDDis_0003D_arg_in
MOVLW 0x10
MOVWF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
label41
MOVLW 0x00
CPFSGT FCD_LCDDis_00043_1_tmp_byte
BRA label42
MOVLW 0x0A
SUBWF FCD_LCDDis_00043_1_tmp_int, W
MOVWF CompTempVar2198
SUBWFB FCD_LCDDis_00043_1_tmp_int, W
SUBLW 0x0A
SUBWF FCD_LCDDis_00043_1_tmp_int+D'1', F
MOVF CompTempVar2198, W
MOVWF FCD_LCDDis_00043_1_tmp_int
DECF FCD_LCDDis_00043_1_tmp_byte, F
BRA label41
label42
MOVF FCD_LCDDis_00043_1_tmp_int, W
ADDLW 0x30
MOVWF FCD_LCDDis_0003D_arg_in
MOVLW 0x10
MOVWF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
RETURN
; } FCD_LCDDisplay0_PrintNumber function end
ORG 0x0000041A
FCD_LCDDis_00040
; { FCD_LCDDisplay0_PrintASCII ; function begin
MOVF FCD_LCDDis_00040_arg_Character, W
MOVWF FCD_LCDDis_0003D_arg_in
MOVLW 0x10
MOVWF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
RETURN
; } FCD_LCDDisplay0_PrintASCII function end
ORG 0x00000428
FCD_LCDDis_0003E
; { FCD_LCDDisplay0_Start ; function begin
BCF gbl_trisb,0
BCF gbl_trisb,1
BCF gbl_trisb,2
BCF gbl_trisb,3
BCF gbl_trisb,4
BCF gbl_trisb,5
MOVLW 0x0C
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
MOVLW 0x33
MOVWF FCD_LCDDis_0003D_arg_in
CLRF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVLW 0x02
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
MOVLW 0x33
MOVWF FCD_LCDDis_0003D_arg_in
CLRF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVLW 0x02
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
MOVLW 0x32
MOVWF FCD_LCDDis_0003D_arg_in
CLRF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVLW 0x02
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
MOVLW 0x2C
MOVWF FCD_LCDDis_0003D_arg_in
CLRF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVLW 0x02
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
MOVLW 0x06
MOVWF FCD_LCDDis_0003D_arg_in
CLRF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVLW 0x02
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
MOVLW 0x0C
MOVWF FCD_LCDDis_0003D_arg_in
CLRF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVLW 0x02
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
MOVLW 0x01
MOVWF FCD_LCDDis_0003D_arg_in
CLRF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVLW 0x02
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
MOVLW 0x02
MOVWF FCD_LCDDis_0003D_arg_in
CLRF FCD_LCDDis_0003D_arg_mask
CALL FCD_LCDDis_0003D
MOVLW 0x02
MOVWF Wdt_Delay__0003C_arg_delay
CALL Wdt_Delay__0003C
RETURN
; } FCD_LCDDisplay0_Start function end
ORG 0x000004CE
main
; { main ; function begin
MOVLW 0x0F
MOVWF gbl_adcon1
CLRF gbl_trisb
CLRF gbl_portb
label43
CALL FCD_LCDDis_0003E
MOVLW 0x14
MOVWF FCD_LCDDis_00040_arg_Character
CALL FCD_LCDDis_00040
MOVLW 0x20
MOVWF CompTempVar2208+D'5'
MOVLW 0x44
MOVWF CompTempVar2208+D'10'
MOVLW 0x45
MOVWF CompTempVar2208+D'1'
MOVLW 0x48
MOVWF CompTempVar2208
MOVLW 0x4C
MOVWF CompTempVar2208+D'2'
MOVWF CompTempVar2208+D'3'
MOVWF CompTempVar2208+D'9'
MOVLW 0x4F
MOVWF CompTempVar2208+D'4'
MOVWF CompTempVar2208+D'7'
MOVLW 0x52
MOVWF CompTempVar2208+D'8'
MOVLW 0x57
MOVWF CompTempVar2208+D'6'
CLRF CompTempVar2208+D'11'
MOVLW HIGH(CompTempVar2208+D'0')
MOVWF FCD_LCDDis_00044_arg_String+D'1'
MOVLW LOW(CompTempVar2208+D'0')
MOVWF FCD_LCDDis_00044_arg_String
MOVLW 0x0B
MOVWF FCD_LCDDis_00044_arg_MSZ_String
CALL FCD_LCDDis_00044
MOVLW 0x02
MOVWF FCD_LCDDis_00045_arg_Direction
MOVWF FCD_LCDDis_00045_arg_Num_P_00046
CALL FCD_LCDDis_00045
MOVLW 0xD2
MOVWF FCD_LCDDis_00043_arg_Number
MOVLW 0x04
MOVWF FCD_LCDDis_00043_arg_Number+D'1'
CALL FCD_LCDDis_00043
MOVLW 0x01
MOVWF FCD_LCDDis_00047_arg_Line
CALL FCD_LCDDis_00047
MOVLW 0x32
MOVWF delay_ms_00000_arg_del
CALL delay_ms_00000
BRA label43
; } main function end
ORG 0x00000542
_startup
MOVLW 0xD5
MOVWF gbl_16_LSR
MOVLW 0xC4
MOVWF gbl_16_LSR+D'1'
MOVLW 0xBB
MOVWF gbl_16_LSR+D'2'
MOVLW 0xDC
MOVWF gbl_16_LSR+D'3'
CLRF gbl_17_gbl_aSig
CLRF gbl_17_gbl_aSig+D'1'
CLRF gbl_17_gbl_aSig+D'2'
CLRF gbl_17_gbl_aSig+D'3'
CLRF gbl_17_gbl_bSig
CLRF gbl_17_gbl_bSig+D'1'
CLRF gbl_17_gbl_bSig+D'2'
CLRF gbl_17_gbl_bSig+D'3'
CLRF gbl_17_gbl_zSig
CLRF gbl_17_gbl_zSig+D'1'
CLRF gbl_17_gbl_zSig+D'2'
CLRF gbl_17_gbl_zSig+D'3'
CLRF gbl_17_gbl_aExp
CLRF gbl_17_gbl_bExp
CLRF gbl_17_gbl_zExp
CLRF gbl_17_gbl_zExp+D'1'
CLRF gbl_17_gbl_aSign
CLRF gbl_17_gbl_bSign
CLRF gbl_17_gbl_zSign
CLRF gbl_17_gbl_zSigZero
CLRF gbl_17_gbl_ret
CLRF gbl_17_gbl_ret+D'1'
CLRF gbl_17_gbl_ret+D'2'
CLRF gbl_17_gbl_ret+D'3'
CLRF gbl_float_rounding_mode
CLRF gbl_float_exception_flags
CLRF gbl_float_detect_tininess
GOTO main
ORG 0x0000058C
interrupt
; { interrupt ; function begin
MOVFF FSR0H, Int1Context
MOVFF FSR0L, Int1Context+D'1'
MOVFF PRODH, Int1Context+D'2'
MOVFF PRODL, Int1Context+D'3'
MOVFF Int1Context+D'3', PRODL
MOVFF Int1Context+D'2', PRODH
MOVFF Int1Context+D'1', FSR0L
MOVFF Int1Context, FSR0H
RETFIE 1
; } interrupt function end
END
SRJTH.M1 Try this...!
[/QUOTE
What a wonderful example of lcd code for a beginner....
SRJTH.M1 Try this...!
What a wonderful example of lcd code for a beginner....
; { FCD_LCDDisplay0_ScrollDisplay ; function begin
; } FCD_LCDDisplay0_ScrollDisplay function end
labelxx
lxx
axx
FCD_LCDDis_00044_arg_String EQU 0x00000024 ; bytes:2
FCD_LCDDis_00044_arg_MSZ_String EQU 0x00000032 ; bytes:1
FCD_LCDDis_00044_1_idx EQU 0x00000033 ; bytes:1
FCD_LCDDis_00045_arg_Direction EQU 0x00000024 ; bytes:1
FCD_LCDDis_00045_arg_Num_P_00046 EQU 0x00000025 ; bytes:1
FCD_LCDDis_00045_1_cmd EQU 0x00000026 ; bytes:1
FCD_LCDDis_00045_1_count EQU 0x00000027 ; bytes:1
FCD_LCDDis_00047_arg_Line EQU 0x00000024 ; bytes:1
FCD_LCDDis_00047_1_count EQU 0x00000025 ; bytes:1
FCD_LCDDis_00047_1_rowcount EQU 0x00000026 ; bytes:1
CompTempVar2208 EQU 0x00000026 ; bytes:12
delay_10us_00000_arg_del EQU 0x00000037 ; bytes:1
delay_ms_00000_arg_del EQU 0x0000002B ; bytes:1