; Generated by holtek-gcc v3.19, Fri Aug 14 14:07:11 2020
; 
; Configuration:
;       with long instruction
;       Multi-ROM, Multi-RAM
;       bits_per_rom_unit:16
;       with mp1
;       with tbhp, address(0x9)
;          Use tabrd-const
;       
; SFR address of long-instruction arch:
;    mp0 = -1,1,0
;    mp1 = 4,3,2
;    mp2 = 14,13,12
;    tbp = 9,7,8
;    acc = 5
;    pcl = 6
;    status = 10
;    bp = 11
;    intc = 16
;       
;       
; use 'tabrdc' instead of 'tabrd'
;       

#pragma translator "holtek-gcc 4.6.4" "3.19" "build 20130711"
; Rebuild 718

ir equ [2]
mp equ [3]
sbp equ [4]
acc equ [5]
bp equ [11]
tblp equ [7]
tbhp equ [9]
status equ [10]
c equ [10].0
ac equ [10].1
z equ [10].2
ov equ [10].3
cz equ [10].6
sc equ [10].7
intc equ [16]
mduwr0 equ [59h]
mduwr1 equ [5ah]
mduwr2 equ [5bh]
mduwr3 equ [5ch]
mduwr4 equ [5dh]
mduwr5 equ [5eh]
mduwrctrl equ [5fh]

extern ra:byte
extern rb:byte
extern rc:byte
extern rd:byte
extern re:byte
extern rf:byte
extern rg:byte
extern rh:byte
extern _Crom2Prom:near
extern _Crom2PromNext:near

RAMBANK 0 @BITDATASEC, @BITDATASEC1
@HCCINIT	.section 'data'
@HCCINIT0	.section 'data'
@BITDATASEC	 .section 'data'
@BITDATASEC1	 .section 'data'

#pragma debug scope 1 1
	extern __DELAY3:near
	extern __DELAYX3:near
	extern __DELAYX6:near
	extern __DELAYY5:near
	extern __DELAYY3:near
	extern _builtin_holtek_delay_2:byte
___status equ [10]
___wdtc equ [62]
___lvrc equ [63]
public _main
#pragma debug scope 2 1
#line 13 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
IFDEF WITH_DEFAULT_STARTUP
extern _main_initial0:near
extern _main_startup:near
ENDIF

ROMBANK 0 @start
@start .section com_l 'code'
_main_startup1:
@start .section com_e 'code'
	mov a,bank _main
	mov bp,a
	jmp _main

_main .section 'code'
_main proc
#line 16 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
	snz [10].5
	jmp _L2
#line 16 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
	sz [10].4
	jmp _L3
_L2:
#line 19 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
	fcall _Drv_GPIOPowerOnInit
#line 20 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
	fcall _Drv_SysClockInit
#line 21 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
	mov a,82
	mov [62],a
#line 22 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
	fcall _Drv_RamInit
#line 23 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
	mov a,85
	mov [63],a
#line 27 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
	fcall _Drv_LCD_Init
#line 28 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
	fcall _Drv_LCD_Display_All
	jmp _L10
_L3:
#line 47 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
;# 47 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	clr wdt
_L10:
#line 55 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
;# 55 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	clr wdt
#line 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF 1>263690
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	ERRMESSAGE 'the value 1of the argument exceeds the maxinum 263690'
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF 1<0
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	ERRMESSAGE 'the value 1 of the argument exceeds the mininum 0'
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF 1==0
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	JMP $
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1>=1) AND (1<( 4 + __PBP__ * 2))
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	NOP
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1>=2) AND (1<( 4 + __PBP__ * 2))
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	NOP
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1>=3) AND (1<( 4 + __PBP__ * 2))
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	NOP
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1>=4) AND (1<( 4 + __PBP__ * 2)) AND ( __PBP__ > 0 )
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	NOP
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1>=5) AND (1<( 4 + __PBP__ * 2)) AND ( __PBP__ > 0 )
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	NOP
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1>=6) AND (1<( 4 + __PBP__ * 2))  AND ( __PBP__ > 1 )
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	NOP
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1>=7) AND (1<( 4 + __PBP__ * 2))  AND ( __PBP__ > 1 )
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	NOP
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1>=8) AND (1<( 4 + __PBP__ * 2))  AND ( __PBP__ > 2 )
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	NOP
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1==9)  AND ( __PBP__ > 2 )
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	NOP
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1< ( 8 + __PBP__ * 2)) AND (1>( 3 + __PBP__ * 2))
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	fcall __DELAY3 + ( 7 + __PBP__ * 2) -1
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1< ( 0404h + __PBP__ * 2)) AND (1>( 7 + __PBP__ * 2))
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	MOV A,(1-( 4 + __PBP__ * 2))/4
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	fcall __DELAYX3 + 3 -((1-( 4 + __PBP__ * 2)) MOD 4) 
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1< ( 040bh + __PBP__ * 2)) AND (1> ( 0403h + __PBP__ * 2))
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	MOV A,0 
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	fcall __DELAYX6 + ( 040ah + __PBP__ * 2) -1
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1 >= ( 040bh + __PBP__ * 2)) AND ((((1-( 9 + __PBP__ * 2))%0402h)/4+1)>256)
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	MOV A,(1-( 9 + __PBP__ * 2))/0402h
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	MOV _builtin_holtek_delay_2,A
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	MOV A,0
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	fcall __DELAYY5 +5- (((1-( 9 + __PBP__ * 2))%0402h)%6) 
	ENDIF
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	IF (1 >= ( 040bh + __PBP__ * 2)) AND ((((1-( 9 + __PBP__ * 2))%0402h)/4+1)<=256)
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	MOV A,(1-( 9 + __PBP__ * 2))/0402h
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	MOV _builtin_holtek_delay_2,A
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	MOV A,((1-( 9 + __PBP__ * 2))%0402h)/4+1
;# 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c" 1
	fcall __DELAYY3 +3-(((1-( 9 + __PBP__ * 2))%0402h)%4) 
	ENDIF
	jmp _L10
	jmp $
_main endp

@dummy proc
	call _main
@dummy endp

#line 56 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
#pragma debug scope 1 1
#line 10 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
public _DisplayBCDBuf
@HCCINIT0_DisplayBCDBuf .section 'data'
_DisplayBCDBuf	db 6 dup(0)
#pragma debug array 42 8 6 1
#pragma debug variable 42 1 _DisplayBCDBuf "DisplayBCDBuf"

@HCCINIT .section 'data'
#line 9 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
public _temp
@HCCINIT0_temp .section 'data'
_temp	db 0
#pragma debug variable 8 1 _temp "temp"

@HCCINIT .section 'data'
#pragma debug struct_begin 43 "__status_bits"
#pragma debug field 21 8 0 1 "__c" ;0,1
#pragma debug field 21 8 0 1 "__ac" ;1,1
#pragma debug field 21 8 0 1 "__z" ;2,1
#pragma debug field 21 8 0 1 "__ov" ;3,1
#pragma debug field 21 8 0 1 "__pdf" ;4,1
#pragma debug field 21 8 0 1 "__to" ;5,1
#pragma debug field 21 8 0 1 "__cz" ;6,1
#pragma debug field 21 8 0 1 "__sc" ;7,1
#pragma debug struct_end
#pragma debug union_begin 44 ""
#pragma debug field 2 43 "bits"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug variable 44 1 ___status "__status" 1
#pragma debug struct_begin 45 "__wdtc_bits"
#pragma debug field 21 8 0 1 "__ws0" ;0,1
#pragma debug field 21 8 0 1 "__ws1" ;1,1
#pragma debug field 21 8 0 1 "__ws2" ;2,1
#pragma debug field 21 8 0 1 "__we0" ;3,1
#pragma debug field 21 8 0 1 "__we1" ;4,1
#pragma debug field 21 8 0 1 "__we2" ;5,1
#pragma debug field 21 8 0 1 "__we3" ;6,1
#pragma debug field 21 8 0 1 "__we4" ;7,1
#pragma debug struct_end
#pragma debug union_begin 46 ""
#pragma debug field 2 45 "bits"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug variable 46 1 ___wdtc "__wdtc" 1
#pragma debug struct_begin 47 "__lvrc_bits"
#pragma debug field 21 8 0 1 "__lvs0" ;0,1
#pragma debug field 21 8 0 1 "__lvs1" ;1,1
#pragma debug field 21 8 0 1 "__lvs2" ;2,1
#pragma debug field 21 8 0 1 "__lvs3" ;3,1
#pragma debug field 21 8 0 1 "__lvs4" ;4,1
#pragma debug field 21 8 0 1 "__lvs5" ;5,1
#pragma debug field 21 8 0 1 "__lvs6" ;6,1
#pragma debug field 21 8 0 1 "__lvs7" ;7,1
#pragma debug struct_end
#pragma debug union_begin 48 ""
#pragma debug field 2 47 "bits"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug variable 48 1 ___lvrc "__lvrc" 1
#line 13 "C:\Users\iris\Desktop\2. demo code\BH67F5362_LCD\Source\main.c"
@code .section at 0 'code'
	clr bp
	jmp _main_startup1

extern _Drv_GPIOPowerOnInit:near
extern _Drv_SysClockInit:near
extern _Drv_RamInit:near
extern _Drv_LCD_Init:near
extern _Drv_LCD_Display_All:near

; 
; Generated by holtek-gcc v3.19, Fri Aug 14 14:07:11 2020
; Rebuild 718
; end of file
