include "P16F84A.inc"
; Heap block 0, size:29 (0x00000032 - 0x0000004E)
__HEAP_BLOCK0_BANK EQU 0x00000000
__HEAP_BLOCK0_START_OFFSET EQU 0x00000032
__HEAP_BLOCK0_END_OFFSET EQU 0x0000004E
; Heap block 1, size:0 (0x00000000 - 0x00000000)
__HEAP_BLOCK1_BANK EQU 0x00000000
__HEAP_BLOCK1_START_OFFSET EQU 0x00000000
__HEAP_BLOCK1_END_OFFSET EQU 0x00000000
; Heap block 2, size:0 (0x00000000 - 0x00000000)
__HEAP_BLOCK2_BANK EQU 0x00000000
__HEAP_BLOCK2_START_OFFSET EQU 0x00000000
__HEAP_BLOCK2_END_OFFSET EQU 0x00000000
; Heap block 3, size:0 (0x00000000 - 0x00000000)
__HEAP_BLOCK3_BANK EQU 0x00000000
__HEAP_BLOCK3_START_OFFSET EQU 0x00000000
__HEAP_BLOCK3_END_OFFSET EQU 0x00000000
gbl_status EQU 0x00000003 ; bytes:1
gbl_16_LSR EQU 0x0000000C ; bytes:4
gbl_float_detect_tininess EQU 0x00000025 ; bytes:1
gbl_float_rounding_mode EQU 0x00000026 ; bytes:1
gbl_float_exception_flags EQU 0x00000027 ; bytes:1
gbl_17_gbl_aSig EQU 0x00000010 ; bytes:4
gbl_17_gbl_bSig EQU 0x00000014 ; bytes:4
gbl_17_gbl_zSig EQU 0x00000018 ; bytes:4
gbl_17_gbl_aExp EQU 0x00000028 ; bytes:1
gbl_17_gbl_bExp EQU 0x00000029 ; bytes:1
gbl_17_gbl_zExp EQU 0x00000023 ; bytes:2
gbl_17_gbl_aSign EQU 0x0000002A ; bytes:1
gbl_17_gbl_bSign EQU 0x0000002B ; bytes:1
gbl_17_gbl_zSign EQU 0x0000002C ; bytes:1
gbl_17_gbl_zSigZero EQU 0x0000002D ; bytes:1
gbl_17_gbl_ret EQU 0x0000001C ; bytes:4
gbl_indf EQU 0x00000000 ; bytes:1
gbl_tmr0 EQU 0x00000001 ; bytes:1
gbl_pcl EQU 0x00000002 ; bytes:1
gbl_fsr EQU 0x00000004 ; bytes:1
gbl_porta EQU 0x00000005 ; bytes:1
gbl_portb EQU 0x00000006 ; bytes:1
gbl_eedata EQU 0x00000008 ; bytes:1
gbl_eeadr EQU 0x00000009 ; bytes:1
gbl_pclath EQU 0x0000000A ; bytes:1
gbl_intcon EQU 0x0000000B ; bytes:1
gbl_option_reg EQU 0x00000081 ; bytes:1
gbl_trisa EQU 0x00000085 ; bytes:1
gbl_trisb EQU 0x00000086 ; bytes:1
gbl_eecon1 EQU 0x00000088 ; bytes:1
gbl_eecon2 EQU 0x00000089 ; bytes:1
gbl_FCV_SAY EQU 0x0000002E ; bytes:1
CompTempVar2206 EQU 0x0000002F ; bytes:1
delay_ms_00000_arg_del EQU 0x00000031 ; bytes:1
delay_s_00000_arg_del EQU 0x00000030 ; bytes:1
Int1Context EQU 0x0000004F ; bytes:1
Int1BContext EQU 0x00000020 ; bytes:3
ORG 0x00000000
GOTO _startup
ORG 0x00000004
MOVWF Int1Context
SWAPF STATUS, W
BCF STATUS, RP0
MOVWF Int1BContext
SWAPF PCLATH, W
MOVWF Int1BContext+D'1'
SWAPF FSR, W
MOVWF Int1BContext+D'2'
BCF PCLATH,3
BCF PCLATH,4
GOTO interrupt
ORG 0x00000010
delay_ms_00000
; { delay_ms ; function begin
MOVF delay_ms_00000_arg_del, F
BTFSS STATUS,Z
GOTO label1
RETURN
label1
MOVLW 0xF9
label2
ADDLW 0xFF
BTFSS STATUS,Z
GOTO label2
NOP
DECFSZ delay_ms_00000_arg_del, F
GOTO label1
RETURN
; } delay_ms function end
ORG 0x0000001C
delay_s_00000
; { delay_s ; function begin
label3
MOVLW 0xFA
MOVWF delay_ms_00000_arg_del
CALL delay_ms_00000
MOVLW 0xFA
MOVWF delay_ms_00000_arg_del
CALL delay_ms_00000
MOVLW 0xFA
MOVWF delay_ms_00000_arg_del
CALL delay_ms_00000
MOVLW 0xFA
MOVWF delay_ms_00000_arg_del
CALL delay_ms_00000
DECFSZ delay_s_00000_arg_del, F
GOTO label3
RETURN
; } delay_s function end
ORG 0x0000002B
FCM_bekle_00000
; { FCM_bekle ; function begin
MOVLW 0xFF
BCF STATUS, RP0
MOVWF delay_s_00000_arg_del
CALL delay_s_00000
MOVLW 0xFF
MOVWF delay_s_00000_arg_del
CALL delay_s_00000
MOVLW 0xFF
MOVWF delay_s_00000_arg_del
CALL delay_s_00000
MOVLW 0x87
MOVWF delay_s_00000_arg_del
CALL delay_s_00000
RETURN
; } FCM_bekle function end
ORG 0x00000039
main
; { main ; function begin
MOVLW 0xC0
BSF STATUS, RP0
MOVWF gbl_option_reg
MOVLW 0x04
BCF STATUS, RP0
MOVWF gbl_FCV_SAY
label4
CLRF CompTempVar2206
INCF CompTempVar2206, F
MOVF gbl_FCV_SAY, F
BTFSS STATUS,Z
BCF CompTempVar2206,0
MOVF CompTempVar2206, F
BTFSS STATUS,Z
GOTO label5
CALL FCM_bekle_00000
DECF gbl_FCV_SAY, W
MOVWF gbl_FCV_SAY
GOTO label4
label5
GOTO label5
; } main function end
ORG 0x0000004C
_startup
MOVLW 0xD5
BCF STATUS, RP0
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
BCF PCLATH,3
BCF PCLATH,4
GOTO main
ORG 0x00000073
interrupt
; { interrupt ; function begin
BCF STATUS, RP0
SWAPF Int1BContext+D'2', W
MOVWF FSR
SWAPF Int1BContext+D'1', W
MOVWF PCLATH
SWAPF Int1BContext, W
MOVWF STATUS
SWAPF Int1Context, F
SWAPF Int1Context, W
RETFIE
; } interrupt function end
ORG 0x00002007
DW 0x3FFB
END