; Generated by holtek-gcc v3.19, Mon Jan 06 09:49:12 2025
; 
; Configuration:
;       with long instruction
;       Single 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 = 32
;       
;       
; 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 [32]

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
___pas1 equ [124]
___ifs0 equ [317]
___ucr1 equ [48]
___ufcr equ [53]
___brdl equ [52]
___brdh equ [51]
___ucr2 equ [49]
public _Uart_Cfg
#pragma debug scope 2 1
#line 130 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
_Uart_Cfg .section 'code'
_Uart_Cfg proc
public _Uart_Cfg_2
    local _Uart_Cfg_2 db 3 dup(?)	; 2,1
#pragma debug struct_begin 42 ""
#pragma debug field 21 8 0 1 "addr" ;0,1
#pragma debug field 21 8 0 1 "wakeUp" ;1,1
#pragma debug struct_end
#pragma debug union_begin 43 ""
#pragma debug field 2 42 "b"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug struct_begin 44 "Uart_Cfg_t"
#pragma debug field 3 43 "flag"
#pragma debug struct_end
#pragma debug pointer 45 44 2
#pragma debug variable 45 2 _Uart_Cfg_2+0 "cfg_t"
#line 132 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	set [124].5
	set [124].4
#line 138 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	set [124].7
	clr [124].6
	lclr [317].2
#line 144 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr [48]
#line 173 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr [53]
	mov a,16
	mov [52],a
	clr [51]
#line 178 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,252
	andm a,[53]
#line 179 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	set [53].0
#line 180 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_Uart_Cfg_2[0]
	mov mp,a
	mov a,_Uart_Cfg_2[1]
	mov sbp,a
	call _Crom2Prom
	mov _Uart_Cfg_2[2],a
	mov a,_Uart_Cfg_2[2]
	and a,1
	mov ra,a
	swapa ra
	and a,0f0h 
	mov ra,a
	clr [49].4
	mov a,ra
	orm a,[49]
#line 181 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	call _Crom2Prom
	mov rb,a
	clr ra
	sz rb.1
	inc ra
	swapa ra
	rr acc
	and a,0f8h
	mov ra,a
	clr [49].3
	mov a,ra
	orm a,[49]
#line 182 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	set [49].2
#line 185 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr _uartStatus[2]
#line 186 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr _uartStatus[0]
	clr _uartStatus[1]
#line 187 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_uartStatus[5]
	mov _queue_in[0],a
	mov a,_uartStatus[6]
	mov _queue_in[1],a
#line 188 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_uartStatus[5]
	mov _queue_out[0],a
	mov a,_uartStatus[6]
	mov _queue_out[1],a
#line 189 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr _uartStatus[3].1
	ret
_Uart_Cfg endp
#line 189 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
#pragma debug scope 1 1
___usr equ [47]
___acc equ [5]
___txr_rxr equ [54]
public _Uart_TxByte_Interrupt
#pragma debug scope 3 1
#line 202 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
_Uart_TxByte_Interrupt .section 'code'
_Uart_TxByte_Interrupt proc
public _Uart_TxByte_Interrupt_2
    local _Uart_TxByte_Interrupt_2 db 3 dup(?)	; 3,0
#pragma debug pointer 46 8 3
#pragma debug variable 46 3 _Uart_TxByte_Interrupt_2+0 "buf"
#pragma debug variable 8 3 _Uart_TxByte_Interrupt_2+2 "len"
#line 203 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	sz _uartStatus[2]
	jmp _L4
#line 210 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	deca _Uart_TxByte_Interrupt_2[2]
	mov _uartStatus[2],a
#line 211 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_Uart_TxByte_Interrupt_2[0]
	mov _uartStatus[0],a
	mov a,_Uart_TxByte_Interrupt_2[1]
	mov _uartStatus[1],a
#line 212 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,[47]
	mov [5],a
#line 213 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_uartStatus[0]
	mov mp,a
	mov a,_uartStatus[1]
	mov sbp,a
	call _Crom2Prom
	mov [54],a
#line 214 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	set _uartStatus[3].0
#line 215 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	set [49].1
	set [49].0
#line 217 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,1
	mov ra,a
	jmp _L3
_L4:
#line 205 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr ra
_L3:
#line 219 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,ra
	ret
_Uart_TxByte_Interrupt endp
#line 219 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
#pragma debug scope 1 1
public _Uart_TxByte_Polling
#pragma debug scope 4 1
#line 230 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
_Uart_TxByte_Polling .section 'code'
_Uart_TxByte_Polling proc
public _Uart_TxByte_Polling_2
    local _Uart_TxByte_Polling_2 db 3 dup(?)	; 3,0
#pragma debug pointer 47 8 4
#pragma debug variable 47 4 _Uart_TxByte_Polling_2+0 "byte"
#pragma debug variable 8 4 _Uart_TxByte_Polling_2+2 "len"
#line 231 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr [49].1
	clr [49].0
#line 233 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr ra
	jmp _L7
_L10:
#line 236 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,[47]
	mov [5],a
#line 237 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_Uart_TxByte_Polling_2[0]
	mov mp,a
	mov a,_Uart_TxByte_Polling_2[1]
	mov sbp,a
	call _Crom2Prom
	mov [54],a
_L9:
#line 238 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	snz [47].1
	jmp _L9
#line 240 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	inc _Uart_TxByte_Polling_2[0]
	sz z
	inc _Uart_TxByte_Polling_2[1]
#line 233 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	inc ra
_L7:
	mov a,ra
	sub a,_Uart_TxByte_Polling_2[2]
	snz z
	jmp _L10
	ret
_Uart_TxByte_Polling endp
#line 233 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
#pragma debug scope 1 1
public _Uart_IsAvailable_ReadByte
#pragma debug scope 5 1
#line 252 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
_Uart_IsAvailable_ReadByte .section 'code'
_Uart_IsAvailable_ReadByte proc
public _Uart_IsAvailable_ReadByte_2
    local _Uart_IsAvailable_ReadByte_2 db 2 dup(?)	; 2,0
#pragma debug pointer 48 8 5
#pragma debug variable 48 5 _Uart_IsAvailable_ReadByte_2+0 "byte"
#line 253 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_queue_out[0]
	mov rb,a
	mov a,_queue_out[1]
	mov rc,a
	mov a,_queue_in[0]
	sub a,rb
	mov a,_queue_in[1]
	sbc a,rc
	snz cz
	jmp _L12
#line 253 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	snz _uartStatus[3].1
	jmp _L15
_L12:
#line 255 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_uartStatus[4]
	add a,_uartStatus[5]
	mov rd,a
	clr acc
	adc a,_uartStatus[6]
	mov re,a
	mov a,rb
	sub a,rd
	mov a,rc
	sbc a,re
	snz c
	jmp _L14
#line 257 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_uartStatus[5]
	mov _queue_out[0],a
	mov a,_uartStatus[6]
	mov _queue_out[1],a
_L14:
#line 259 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_queue_out[0]
	mov rb,a
	mov a,_queue_out[1]
	mov rc,a
	mov a,1
	add a,rb
	mov _queue_out[0],a
	mov a,0
	adc a,rc
	mov _queue_out[1],a
	mov a,rb
	mov mp,a
	mov a,rc
	mov sbp,a
	call _Crom2Prom
	mov ra,a
	mov a,_Uart_IsAvailable_ReadByte_2[0]
	mov mp,a
	mov a,_Uart_IsAvailable_ReadByte_2[1]
	mov sbp,a
	mov a,ra
	mov ir,a
#line 261 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr _uartStatus[3].1
#line 262 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,1
	mov ra,a
	jmp _L13
_L15:
#line 266 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr ra
_L13:
#line 268 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,ra
	ret
_Uart_IsAvailable_ReadByte endp
#line 268 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
#pragma debug scope 1 1
public _UART_ISR
#pragma debug scope 6 1
#line 278 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
@UART_ISR_code .section at 48 'code'
ifdef INTERRUPT_DELAY
	nop
endif
	mov r1,a
	mov a,status
ifndef INTERRUPT_DELAY
	mov r2,a
endif
	jmp _UART_ISR
#pragma debug scope 1 1
@dummy48 proc
	call _UART_ISR
@dummy48 endp
#pragma debug scope 7 1
_UART_ISR .section 'code'
_UART_ISR proc
ifdef INTERRUPT_DELAY
	mov r2,a
endif
	mov a,mp
	mov r3,a
	mov a,sbp
	mov r4,a
	mov a,tblp
	mov r5,a
	mov a,tbhp
	mov r6,a
#line 280 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr ra
	sz [47].6
	inc ra
	clr rc
	sz [47].5
	inc rc
	clr rb
	sz [47].4
	inc rb
	mov a,rc
	orm a,ra
	mov a,rb
	orm a,ra
	snz ra
	jmp _L17
#line 282 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,[47]
	mov [5],a
#line 283 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,[54]
	mov [5],a
_L17:
#line 286 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	snz [47].0
	jmp _L18
#line 288 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	snz _uartStatus[2]
	jmp _L19
#line 290 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	inc _uartStatus[0]
	sz z
	inc _uartStatus[1]
#line 291 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_uartStatus[0]
	mov mp,a
	mov a,_uartStatus[1]
	mov sbp,a
	call _Crom2Prom
	mov [54],a
#line 292 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	dec _uartStatus[2]
	jmp _L18
_L19:
#line 296 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	snz [47].1
	jmp _L18
#line 298 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr _uartStatus[3].0
_L18:
#line 303 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	snz [47].2
	jmp _L16
#line 305 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_queue_in[0]
	mov rb,a
	mov a,_queue_in[1]
	mov rc,a
	mov a,_queue_out[0]
	mov rd,a
	mov a,_queue_out[1]
	mov re,a
	mov a,rd
	sub a,rb
	mov a,re
	sbc a,rc
	sz c
	jmp _L22
	mov a,rb
	subm a,rd
	mov a,rc
	sbcm a,re
	mov a,_uartStatus[4]
	mov rf,a
	clr rg
	mov a,rd
	sub a,rf
	mov a,re
	sbc a,rg
	snz sc
	jmp _L16
_L22:
#line 309 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	sz _uartStatus[3].1
	jmp _L16
#line 316 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_uartStatus[4]
	add a,_uartStatus[5]
	mov rd,a
	clr acc
	adc a,_uartStatus[6]
	mov re,a
	mov a,rb
	sub a,rd
	mov a,rc
	sbc a,re
	snz c
	jmp _L24
#line 318 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_uartStatus[5]
	mov _queue_in[0],a
	mov a,_uartStatus[6]
	mov _queue_in[1],a
_L24:
#line 320 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_queue_in[0]
	mov rb,a
	mov a,_queue_in[1]
	mov rc,a
	mov a,1
	add a,rb
	mov _queue_in[0],a
	mov a,0
	adc a,rc
	mov _queue_in[1],a
	mov a,rb
	mov mp,a
	mov a,rc
	mov sbp,a
	mov a,[54]
	mov ir,a
#line 321 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_queue_in[0]
	sub a,_queue_out[0]
	mov a,_queue_in[1]
	sbc a,_queue_out[1]
	snz cz
	jmp _L16
#line 323 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	set _uartStatus[3].1
_L16:
	mov a,r2
	mov status,a
	mov a,r3
	mov mp,a
	mov a,r4
	mov sbp,a
	mov a,r5
	mov tblp,a
	mov a,r6
	mov tbhp,a
	tabrdc acc
	mov a,r1
	reti
_UART_ISR endp

#line 323 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
#pragma debug scope 1 1
public _IntegerToString
#pragma debug scope 8 1
#line 337 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
_IntegerToString .section 'code'
_IntegerToString proc
public _IntegerToString_2
    local _IntegerToString_2 db 7 dup(?)	; 7,0
    local cr1 dbit
#pragma debug variable 13 8 _IntegerToString_2+0 "value"
#pragma debug pointer 49 8 8
#pragma debug variable 49 8 _IntegerToString_2+4 "str"
#pragma debug variable 8 8 _IntegerToString_2+6 "size"
#pragma debug variable 2 8 cr1 "isNotFirst"
	mov a,_IntegerToString_2[4]
	mov rb,a
	mov a,_IntegerToString_2[5]
	mov rc,a
#line 338 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	snz _IntegerToString_2[3].7
	jmp _L35
#line 340 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,0
	subm a,_IntegerToString_2[0]
	mov a,0
	sbcm a,_IntegerToString_2[1]
	mov a,0
	sbcm a,_IntegerToString_2[2]
	mov a,0
	sbcm a,_IntegerToString_2[3]
#line 341 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,rb
	mov mp,a
	mov a,rc
	mov sbp,a
	mov a,45
	mov ir,a
	jmp _L36
_L35:
#line 345 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,rb
	mov mp,a
	mov a,rc
	mov sbp,a
	mov a,32
	mov ir,a
_L36:
#line 348 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	clr cr1
#line 349 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	deca _IntegerToString_2[6]
	mov ra,a
_L39:
#line 352 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_IntegerToString_2[0]  
	mov _builtin_holtek_udivmodsi4_2[0],a  
	mov a,_IntegerToString_2[1]  
	mov _builtin_holtek_udivmodsi4_2[1],a
	mov a,_IntegerToString_2[2]  
	mov _builtin_holtek_udivmodsi4_2[2],a  
	mov a,_IntegerToString_2[3]  
	mov _builtin_holtek_udivmodsi4_2[3],a
	mov a,10  
	mov _builtin_holtek_udivmodsi4_2[4],a  
	mov a,0  
	mov _builtin_holtek_udivmodsi4_2[5],a
	mov a,0  
	mov _builtin_holtek_udivmodsi4_2[6],a  
	mov a,0  
	mov _builtin_holtek_udivmodsi4_2[7],a
	call _builtin_holtek_divmodsi4
	mov a,_builtin_holtek_udivmodsi4_2[8]  
	mov rd,a  
	mov a,_builtin_holtek_udivmodsi4_2[9]  
	mov re,a
	mov a,_builtin_holtek_udivmodsi4_2[10] 
	mov rf,a  
	mov a,_builtin_holtek_udivmodsi4_2[11] 
	mov rg,a
	mov a,48
	addm a,rd
	mov a,ra
	add a,_IntegerToString_2[4]
	mov mp,a
	clr acc
	adc a,_IntegerToString_2[5]
	mov sbp,a
	mov a,rd
	mov ir,a
#line 353 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	snz cr1
	jmp _L37
	mov a,_IntegerToString_2[0]
	or a,_IntegerToString_2[1]
	or a,_IntegerToString_2[2]
	or a,_IntegerToString_2[3]
	snz z
	jmp _L37
#line 355 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,32
	mov ir,a
_L37:
#line 357 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	mov a,_IntegerToString_2[0]  
	mov _builtin_holtek_udivmodsi4_2[0],a  
	mov a,_IntegerToString_2[1]  
	mov _builtin_holtek_udivmodsi4_2[1],a
	mov a,_IntegerToString_2[2]  
	mov _builtin_holtek_udivmodsi4_2[2],a  
	mov a,_IntegerToString_2[3]  
	mov _builtin_holtek_udivmodsi4_2[3],a
	mov a,10  
	mov _builtin_holtek_udivmodsi4_2[4],a  
	mov a,0  
	mov _builtin_holtek_udivmodsi4_2[5],a
	mov a,0  
	mov _builtin_holtek_udivmodsi4_2[6],a  
	mov a,0  
	mov _builtin_holtek_udivmodsi4_2[7],a
	call _builtin_holtek_divmodsi4
	mov a,_builtin_holtek_udivmodsi4_2[0]  
	mov _IntegerToString_2[0],a  
	mov a,_builtin_holtek_udivmodsi4_2[1]  
	mov _IntegerToString_2[1],a
	mov a,_builtin_holtek_udivmodsi4_2[2]  
	mov _IntegerToString_2[2],a  
	mov a,_builtin_holtek_udivmodsi4_2[3]  
	mov _IntegerToString_2[3],a
#line 358 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	dec ra
#line 359 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	set cr1
#line 360 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
	sz ra
	jmp _L39
	ret
_IntegerToString endp
#line 360 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
#pragma debug scope 1 1
#line 122 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
public _queue_out
@HCCINIT0_queue_out .section 'data'
_queue_out	db 2 dup(0)
#pragma debug pointer 50 8 1
#pragma debug variable 50 1 _queue_out "queue_out"

@HCCINIT .section 'data'
#line 121 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
public _queue_in
@HCCINIT0_queue_in .section 'data'
_queue_in	db 2 dup(0)
#pragma debug variable 50 1 _queue_in "queue_in"

@HCCINIT .section 'data'
#line 120 "d:\d200\product\git\bh66f2455_evm_cgm\2.code\bh66f2455_driver\driver\Uart.c"
public _uartStatus
@HCCINIT0_uartStatus .section 'data'
_uartStatus	db 7 dup(0)
#pragma debug struct_begin 51 ""
#pragma debug field 21 8 0 1 "isBusy" ;0,1
#pragma debug field 21 8 0 1 "queueIsFull" ;1,1
#pragma debug struct_end
#pragma debug union_begin 52 ""
#pragma debug field 2 51 "b"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug struct_begin 53 ""
#pragma debug field 4 8 "txOffset"
#pragma debug field 0 8 "txLen"
#pragma debug field 3 52 "flag"
#pragma debug field 0 8 "rxBufLen"
#pragma debug field 4 8 "rxBuf"
#pragma debug struct_end
#pragma debug variable 53 1 _uartStatus "uartStatus"

@HCCINIT .section 'data'
#pragma debug variable 8 1 ___acc "__acc" 1
#pragma debug struct_begin 54 "__usr_bits"
#pragma debug field 21 8 0 1 "__txif" ;0,1
#pragma debug field 21 8 0 1 "__tidle" ;1,1
#pragma debug field 21 8 0 1 "__rxif" ;2,1
#pragma debug field 21 8 0 1 "__ridle" ;3,1
#pragma debug field 21 8 0 1 "__oerr" ;4,1
#pragma debug field 21 8 0 1 "__ferr" ;5,1
#pragma debug field 21 8 0 1 "__nf" ;6,1
#pragma debug field 21 8 0 1 "__perr" ;7,1
#pragma debug struct_end
#pragma debug union_begin 55 ""
#pragma debug field 2 54 "bits"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug variable 55 1 ___usr "__usr" 1
#pragma debug struct_begin 56 "__ucr1_bits"
#pragma debug field 21 8 0 1 "__tx8" ;0,1
#pragma debug field 21 8 0 1 "__rx8" ;1,1
#pragma debug field 21 8 0 1 "__txbrk" ;2,1
#pragma debug field 21 8 0 1 "__prt0" ;3,1
#pragma debug field 21 8 0 1 "__prt1" ;4,1
#pragma debug field 21 8 0 1 "__pren" ;5,1
#pragma debug field 21 8 0 1 "__bno" ;6,1
#pragma debug field 21 8 0 1 "__uarten" ;7,1
#pragma debug struct_end
#pragma debug union_begin 57 ""
#pragma debug field 2 56 "bits"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug variable 57 1 ___ucr1 "__ucr1" 1
#pragma debug struct_begin 58 "__ucr2_bits"
#pragma debug field 21 8 0 1 "__teie" ;0,1
#pragma debug field 21 8 0 1 "__tiie" ;1,1
#pragma debug field 21 8 0 1 "__rie" ;2,1
#pragma debug field 21 8 0 1 "__wake" ;3,1
#pragma debug field 21 8 0 1 "__adden" ;4,1
#pragma debug field 21 8 0 1 "__stops" ;5,1
#pragma debug field 21 8 0 1 "__rxen" ;6,1
#pragma debug field 21 8 0 1 "__txen" ;7,1
#pragma debug struct_end
#pragma debug union_begin 59 ""
#pragma debug field 2 58 "bits"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug variable 59 1 ___ucr2 "__ucr2" 1
#pragma debug variable 8 1 ___brdh "__brdh" 1
#pragma debug variable 8 1 ___brdl "__brdl" 1
#pragma debug struct_begin 60 "__ufcr_bits"
#pragma debug field 21 8 0 1 "__rxftr0" ;0,1
#pragma debug field 21 8 0 1 "__rxftr1" ;1,1
#pragma debug field 21 8 0 1 "__brds" ;2,1
#pragma debug field 21 8 0 1 "__umod0" ;3,1
#pragma debug field 21 8 0 1 "__umod1" ;4,1
#pragma debug field 21 8 0 1 "__umod2" ;5,1
#pragma debug field 21 8 0 2 ;6,2
#pragma debug struct_end
#pragma debug union_begin 61 ""
#pragma debug field 2 60 "bits"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug variable 61 1 ___ufcr "__ufcr" 1
#pragma debug variable 8 1 ___txr_rxr "__txr_rxr" 1
#pragma debug struct_begin 62 "__pas1_bits"
#pragma debug field 21 8 0 1 "__pas10" ;0,1
#pragma debug field 21 8 0 1 "__pas11" ;1,1
#pragma debug field 21 8 0 1 "__pas12" ;2,1
#pragma debug field 21 8 0 1 "__pas13" ;3,1
#pragma debug field 21 8 0 1 "__pas14" ;4,1
#pragma debug field 21 8 0 1 "__pas15" ;5,1
#pragma debug field 21 8 0 1 "__pas16" ;6,1
#pragma debug field 21 8 0 1 "__pas17" ;7,1
#pragma debug struct_end
#pragma debug union_begin 63 ""
#pragma debug field 2 62 "bits"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug variable 63 1 ___pas1 "__pas1" 1
#pragma debug struct_begin 64 "__ifs0_bits"
#pragma debug field 21 8 0 1 "__spisckps" ;0,1
#pragma debug field 21 8 0 1 "__spisdips" ;1,1
#pragma debug field 21 8 0 1 "__rxtxps" ;2,1
#pragma debug field 21 8 0 5 ;3,5
#pragma debug struct_end
#pragma debug union_begin 65 ""
#pragma debug field 2 64 "bits"
#pragma debug field 0 8 "byte"
#pragma debug union_end
#pragma debug variable 65 1 ___ifs0 "__ifs0" 1
extern r1:byte
extern r2:byte
extern r3:byte
extern r4:byte
extern r5:byte
extern r6:byte
extern _builtin_holtek_divmodsi4:near
extern _builtin_holtek_udivmodsi4_2:byte
extern _builtin_holtek_udivmodsi4:near

; 
; Generated by holtek-gcc v3.19, Mon Jan 06 09:49:12 2025
; Rebuild 718
; end of file
