;--------------------------------------------------------
; File Created by SDCC : FreeWare ANSI-C Compiler
; Version 2.5.0 #1020 (Oct 16 2005)
; This file generated Sun Oct 16 22:33:42 2005
;--------------------------------------------------------
	.module printf_large
	.optsdcc -mmcs51 --model-large
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl __print_format_PARM_4
	.globl __print_format_PARM_3
	.globl __print_format_PARM_2
	.globl __print_format
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
	.area RSEG    (DATA)
;--------------------------------------------------------
; special function bits 
;--------------------------------------------------------
	.area RSEG    (DATA)
;--------------------------------------------------------
; overlayable register banks 
;--------------------------------------------------------
	.area REG_BANK_0	(REL,OVR,DATA)
	.ds 8
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
	.area DSEG    (DATA)
__print_format_sloc0_1_0::
	.ds 2
__print_format_sloc1_1_0::
	.ds 3
;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
	.area OSEG    (OVR,DATA)
;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
	.area ISEG    (DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
	.area BSEG    (BIT)
_lower_case:
	.ds 1
__print_format_left_justify_1_1::
	.ds 1
__print_format_zero_padding_1_1::
	.ds 1
__print_format_prefix_sign_1_1::
	.ds 1
__print_format_prefix_space_1_1::
	.ds 1
__print_format_signed_argument_1_1::
	.ds 1
__print_format_char_argument_1_1::
	.ds 1
__print_format_long_argument_1_1::
	.ds 1
__print_format_float_argument_1_1::
	.ds 1
__print_format_lsd_1_1::
	.ds 1
;--------------------------------------------------------
; paged external ram data
;--------------------------------------------------------
	.area PSEG    (PAG,XDATA)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
	.area XSEG    (XDATA)
_output_char:
	.ds 2
_p:
	.ds 3
_value:
	.ds 5
_output_digit_n_1_1::
	.ds 1
_output_2digits_b_1_1::
	.ds 1
_calculate_digit_radix_1_1::
	.ds 1
__print_format_PARM_2::
	.ds 3
__print_format_PARM_3::
	.ds 3
__print_format_PARM_4::
	.ds 1
__print_format_pfn_1_1::
	.ds 2
__print_format_radix_1_1::
	.ds 1
__print_format_charsOutputted_1_1::
	.ds 2
__print_format_width_1_1::
	.ds 1
__print_format_decimals_1_1::
	.ds 1
__print_format_c_1_1::
	.ds 1
__print_format_store_4_20::
	.ds 6
__print_format_pstore_4_20::
	.ds 2
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
	.area XISEG   (XDATA)
	.area CSEG    (CODE)
	.area GSINIT0 (CODE)
	.area GSINIT1 (CODE)
	.area GSINIT2 (CODE)
	.area GSINIT3 (CODE)
	.area GSINIT4 (CODE)
	.area GSINIT5 (CODE)
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area CSEG    (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area GSINIT  (CODE)
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area HOME    (CODE)
	.area CSEG    (CODE)
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area CSEG    (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function 'output_digit'
;------------------------------------------------------------
;n                         Allocated with name '_output_digit_n_1_1'
;------------------------------------------------------------
;printf_large.c:80: static void output_digit( unsigned char n )
;	-----------------------------------------
;	 function output_digit
;	-----------------------------------------
_output_digit:
	ar2 = 0x02
	ar3 = 0x03
	ar4 = 0x04
	ar5 = 0x05
	ar6 = 0x06
	ar7 = 0x07
	ar0 = 0x00
	ar1 = 0x01
;     genReceive
	mov	a,dpl
	mov	dptr,#_output_digit_n_1_1
	movx	@dptr,a
;printf_large.c:83: output_char( n <= 9 ? '0'+n :
;     genAssign
	mov	dptr,#_output_digit_n_1_1
	movx	a,@dptr
	mov	r2,a
;     genCmpGt
;     genCmp
	clr	c
	mov	a,#0x09
	subb	a,r2
;     genNot
;	Peephole 105	removed redundant mov
;     genIfx
;	Peephole 105	removed redundant mov
;	Peephole 245	optimized complement (r3 and acc set needed?)
	cpl	c
	clr	a
	rlc	a
	mov	r3,a
;     genIfxJump
;	Peephole 110	removed ljmp by inverse jump logic
	jz	00103$
00110$:
;     genPlus
	mov	a,#0x30
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	r3,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00104$
00103$:
;printf_large.c:84: (lower_case ? n+(char)('a'-10) : n+(char)('A'-10)), p );
;     genIfx
;     genIfxJump
;	Peephole 111	removed ljmp by inverse jump logic
	jnb	_lower_case,00105$
00111$:
;     genPlus
	mov	a,#0x57
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	r4,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00106$
00105$:
;     genPlus
	mov	a,#0x37
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	r4,a
00106$:
;     genAssign
	mov	ar3,r4
00104$:
;     genIpush
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00112$
	push	acc
	mov	a,#(00112$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,r3
	ret
00112$:
	dec	sp
	dec	sp
	dec	sp
00101$:
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'output_2digits'
;------------------------------------------------------------
;b                         Allocated with name '_output_2digits_b_1_1'
;------------------------------------------------------------
;printf_large.c:98: static void output_2digits( unsigned char b )
;	-----------------------------------------
;	 function output_2digits
;	-----------------------------------------
_output_2digits:
;     genReceive
	mov	a,dpl
	mov	dptr,#_output_2digits_b_1_1
	movx	@dptr,a
;printf_large.c:100: output_digit( b>>4   );
;     genAssign
	mov	dptr,#_output_2digits_b_1_1
	movx	a,@dptr
;     genRightShift
;     genRightShiftLiteral
;     genrshOne
;	Peephole 105	removed redundant mov
	mov	r2,a
	swap	a
	anl	a,#0x0f
;     genCall
;	Peephole 244.c	loading dpl from a instead of r3
	mov	r3,a
	mov	dpl,a
	push	ar2
	lcall	_output_digit
	pop	ar2
;printf_large.c:101: output_digit( b&0x0F );
;     genAnd
	anl	ar2,#0x0F
;     genCall
	mov	dpl,r2
;	Peephole 253.b	replaced lcall/ret with ljmp
	ljmp	_output_digit
;------------------------------------------------------------
;Allocation info for local variables in function 'calculate_digit'
;------------------------------------------------------------
;radix                     Allocated with name '_calculate_digit_radix_1_1'
;i                         Allocated with name '_calculate_digit_i_1_1'
;------------------------------------------------------------
;printf_large.c:125: static void calculate_digit( unsigned char radix )
;	-----------------------------------------
;	 function calculate_digit
;	-----------------------------------------
_calculate_digit:
;     genReceive
	mov	a,dpl
	mov	dptr,#_calculate_digit_radix_1_1
	movx	@dptr,a
;printf_large.c:129: for( i = 32; i != 0; i-- )
;     genAssign
	mov	dptr,#_calculate_digit_radix_1_1
	movx	a,@dptr
	mov	r2,a
;     genAssign
	mov	r3,#0x20
00103$:
;     genCmpEq
	cjne	r3,#0x00,00112$
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 251.b	replaced sjmp to ret with ret
	ret
00112$:
;printf_large.c:131: value.byte[4] = (value.byte[4] << 1) | ((value.ul >> 31) & 0x01);
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0004)
	movx	a,@dptr
;     genLeftShift
;     genLeftShiftLiteral
;     genlshOne
;	Peephole 105	removed redundant mov
;	Peephole 204	removed redundant mov
	add	a,acc
	mov	r4,a
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#_value
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
;     genGetHbit
;	Peephole 105	removed redundant mov
	mov	r0,a
	rl	a
	anl	a,#0x01
;     genOr
;	Peephole 105	removed redundant mov
	mov	r1,a
	orl	ar4,a
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#(_value + 0x0004)
	mov	a,r4
	movx	@dptr,a
;printf_large.c:132: value.ul <<= 1;
;     genLeftShift
;     genLeftShiftLiteral
;     genlshFour
;	Peephole 254	optimized left shift
	mov	a,r5
	add	a,r5
	mov	r5,a
	mov	a,r6
	rlc	a
	mov	r6,a
	mov	a,r7
	rlc	a
	mov	r7,a
	mov	a,r0
	rlc	a
	mov	r0,a
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r5
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	inc	dptr
	mov	a,r0
	movx	@dptr,a
;printf_large.c:134: if (radix <= value.byte[4] )
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0004)
	movx	a,@dptr
;     genCmpGt
;     genCmp
;	Peephole 106	removed redundant mov
	mov	r4,a
	clr	c
	subb	a,r2
;     genIfxJump
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 160	removed sjmp by inverse jump logic
	jc	00105$
00113$:
;printf_large.c:136: value.byte[4] -= radix;
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0004)
	movx	a,@dptr
;     genMinus
;	Peephole 105	removed redundant mov
	mov	r4,a
	clr	c
;	Peephole 236.l	used r2 instead of ar2
	subb	a,r2
;     genPointerSet
;     genFarPointerSet
;	Peephole 100	removed redundant mov
	mov	r4,a
	mov	dptr,#(_value + 0x0004)
	movx	@dptr,a
;printf_large.c:137: value.ul |= 1;
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#_value
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;     genOr
	orl	ar4,#0x01
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r5
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
00105$:
;printf_large.c:129: for( i = 32; i != 0; i-- )
;     genMinus
;     genMinusDec
	dec	r3
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00103$
00107$:
	ret
;------------------------------------------------------------
;Allocation info for local variables in function '_print_format'
;------------------------------------------------------------
;sloc0                     Allocated with name '__print_format_sloc0_1_0'
;sloc1                     Allocated with name '__print_format_sloc1_1_0'
;sloc2                     Allocated with name '__print_format_sloc2_1_0'
;pvoid                     Allocated with name '__print_format_PARM_2'
;format                    Allocated with name '__print_format_PARM_3'
;ap                        Allocated with name '__print_format_PARM_4'
;pfn                       Allocated with name '__print_format_pfn_1_1'
;radix                     Allocated with name '__print_format_radix_1_1'
;charsOutputted            Allocated with name '__print_format_charsOutputted_1_1'
;width                     Allocated with name '__print_format_width_1_1'
;decimals                  Allocated with name '__print_format_decimals_1_1'
;length                    Allocated with name '__print_format_length_1_1'
;c                         Allocated with name '__print_format_c_1_1'
;store                     Allocated with name '__print_format_store_4_20'
;pstore                    Allocated with name '__print_format_pstore_4_20'
;------------------------------------------------------------
;printf_large.c:339: int _print_format (pfn_outputchar pfn, void* pvoid, const char *format, va_list ap)
;	-----------------------------------------
;	 function _print_format
;	-----------------------------------------
__print_format:
;     genReceive
	mov	r2,dph
	mov	a,dpl
	mov	dptr,#__print_format_pfn_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
;printf_large.c:366: output_char = pfn;
;     genAssign
	mov	dptr,#__print_format_pfn_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genAssign
	mov	dptr,#_output_char
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
;printf_large.c:367: p = pvoid;
;     genAssign
	mov	dptr,#__print_format_PARM_2
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;     genAssign
	mov	dptr,#_p
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;printf_large.c:371: charsOutputted=0;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;printf_large.c:379: while( c=*format++ )
00221$:
;     genAssign
	mov	dptr,#__print_format_PARM_3
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;     genPointerGet
;     genGenPointerGet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r5,a
;     genPlus
	mov	dptr,#__print_format_PARM_3
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	inc	dptr
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;     genIfx
	mov	a,r5
;     genIfxJump
	jnz	00297$
	ljmp	00223$
00297$:
;printf_large.c:381: if ( c=='%' )
;     genCmpEq
	cjne	r5,#0x25,00298$
	sjmp	00299$
00298$:
	ljmp	00219$
00299$:
;printf_large.c:383: left_justify    = 0;
;     genAssign
	clr	__print_format_left_justify_1_1
;printf_large.c:384: zero_padding    = 0;
;     genAssign
	clr	__print_format_zero_padding_1_1
;printf_large.c:385: prefix_sign     = 0;
;     genAssign
	clr	__print_format_prefix_sign_1_1
;printf_large.c:386: prefix_space    = 0;
;     genAssign
	clr	__print_format_prefix_space_1_1
;printf_large.c:387: signed_argument = 0;
;     genAssign
	clr	__print_format_signed_argument_1_1
;printf_large.c:388: radix           = 0;
;     genAssign
	mov	dptr,#__print_format_radix_1_1
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
;printf_large.c:389: char_argument   = 0;
;     genAssign
	clr	__print_format_char_argument_1_1
;printf_large.c:390: long_argument   = 0;
;     genAssign
	clr	__print_format_long_argument_1_1
;printf_large.c:391: float_argument  = 0;
;     genAssign
	clr	__print_format_float_argument_1_1
;printf_large.c:392: width           = 0;
;     genAssign
	mov	dptr,#__print_format_width_1_1
;	Peephole 181	changed mov to clr
;printf_large.c:393: decimals        = -1;
;     genAssign
;	Peephole 181	changed mov to clr
;	Peephole 219	removed redundant clear
	clr	a
	movx	@dptr,a
	mov	dptr,#__print_format_decimals_1_1
	movx	@dptr,a
;printf_large.c:395: get_conversion_spec:
;     genAssign
	mov	dptr,#__print_format_PARM_3
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
00101$:
;printf_large.c:397: c = *format++;
;     genPointerGet
;     genGenPointerGet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r6,a
	inc	dptr
	mov	r2,dpl
	mov	r3,dph
;     genAssign
	mov	dptr,#__print_format_PARM_3
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;     genAssign
	mov	dptr,#__print_format_c_1_1
	mov	a,r6
	movx	@dptr,a
;printf_large.c:399: if (c=='%') {
;     genCmpEq
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 199	optimized misc jump sequence
	cjne	r6,#0x25,00103$
;00300$:
;	Peephole 200	removed redundant sjmp
00301$:
;printf_large.c:400: output_char(c, p);
;     genIpush
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00302$
	push	acc
	mov	a,#(00302$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,r6
	ret
00302$:
	dec	sp
	dec	sp
	dec	sp
;printf_large.c:401: charsOutputted++;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genPlus
	mov	dptr,#__print_format_charsOutputted_1_1
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	inc	dptr
	movx	@dptr,a
;printf_large.c:402: continue;
	ljmp	00221$
00103$:
;printf_large.c:405: if (isdigit(c)) {
;     genCall
	mov	dpl,r6
	push	ar2
	push	ar3
	push	ar4
	push	ar6
	lcall	_isdigit
	mov	a,dpl
	pop	ar6
	pop	ar4
	pop	ar3
	pop	ar2
;     genIfx
;     genIfxJump
;	Peephole 110	removed ljmp by inverse jump logic
	jz	00110$
00303$:
;printf_large.c:406: if (decimals==-1) {
;     genAssign
	mov	dptr,#__print_format_decimals_1_1
	movx	a,@dptr
;     genCmpEq
;	Peephole 115.b	jump optimization
	mov	r7,a
	jz	00305$
00304$:
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00107$
00305$:
;printf_large.c:407: width = 10*width + (c - '0');
;     genIpush
	push	ar2
	push	ar3
	push	ar4
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
;     genMult
;     genMultOneByte
;	Peephole 105	removed redundant mov
	mov	r2,a
	mov	b,#0x0A
	mul	ab
	mov	r2,a
;     genMinus
	mov	a,r6
	add	a,#0xd0
;     genPlus
	mov	dptr,#__print_format_width_1_1
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;printf_large.c:408: if (width == 0) {
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
	mov	r2,a
;     genCmpEq
;	Peephole 241.c	optimized compare
	clr	a
	cjne	r2,#0x00,00306$
	inc	a
00306$:
00307$:
;     genIpop
	pop	ar4
	pop	ar3
	pop	ar2
;     genIfx
;     genIfxJump
	jnz	00308$
	ljmp	00101$
00308$:
;printf_large.c:410: zero_padding = 1;
;     genAssign
	setb	__print_format_zero_padding_1_1
	ljmp	00101$
00107$:
;printf_large.c:413: decimals = 10*decimals + (c-'0');
;     genMult
;     genMultOneByte
	mov	a,r7
	mov	b,#0x0A
	mul	ab
	mov	r7,a
;     genMinus
	mov	a,r6
	add	a,#0xd0
;     genPlus
	mov	dptr,#__print_format_decimals_1_1
;	Peephole 236.a	used r7 instead of ar7
	add	a,r7
	movx	@dptr,a
;printf_large.c:415: goto get_conversion_spec;
	ljmp	00101$
00110$:
;printf_large.c:418: if (c=='.') {
;     genCmpEq
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 199	optimized misc jump sequence
	cjne	r6,#0x2E,00114$
;00309$:
;	Peephole 200	removed redundant sjmp
00310$:
;printf_large.c:419: if (decimals=-1) decimals=0;
;     genAssign
	mov	dptr,#__print_format_decimals_1_1
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
;printf_large.c:422: goto get_conversion_spec;
	ljmp	00101$
00114$:
;printf_large.c:425: lower_case = islower(c);
;     genCall
	mov	dpl,r6
	push	ar2
	push	ar3
	push	ar4
	push	ar6
	lcall	_islower
	mov	a,dpl
	add	a,#0xff
	mov	_lower_case,c
	pop	ar6
	pop	ar4
	pop	ar3
	pop	ar2
;printf_large.c:426: if (lower_case)
;     genIfx
;     genIfxJump
;	Peephole 111	removed ljmp by inverse jump logic
	jnb	_lower_case,00116$
00311$:
;printf_large.c:428: c = toupper(c);
;     genAnd
	mov	dptr,#__print_format_c_1_1
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
00116$:
;printf_large.c:431: switch( c )
;     genAssign
	mov	dptr,#__print_format_c_1_1
	movx	a,@dptr
	mov	r6,a
;     genCmpEq
	cjne	r6,#0x20,00312$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00119$
00312$:
;     genCmpEq
	cjne	r6,#0x2B,00313$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00118$
00313$:
;     genCmpEq
	cjne	r6,#0x2D,00314$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00117$
00314$:
;     genCmpEq
	cjne	r6,#0x42,00315$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00120$
00315$:
;     genCmpEq
	cjne	r6,#0x43,00316$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00122$
00316$:
;     genCmpEq
	cjne	r6,#0x44,00317$
	ljmp	00144$
00317$:
;     genCmpEq
	cjne	r6,#0x46,00318$
	ljmp	00148$
00318$:
;     genCmpEq
	cjne	r6,#0x49,00319$
	ljmp	00144$
00319$:
;     genCmpEq
	cjne	r6,#0x4C,00320$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00121$
00320$:
;     genCmpEq
	cjne	r6,#0x4F,00321$
	ljmp	00145$
00321$:
;     genCmpEq
	cjne	r6,#0x50,00322$
	ljmp	00139$
00322$:
;     genCmpEq
	cjne	r6,#0x53,00323$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00123$
00323$:
;     genCmpEq
	cjne	r6,#0x55,00324$
	ljmp	00146$
00324$:
;     genCmpEq
	cjne	r6,#0x58,00325$
	ljmp	00147$
00325$:
	ljmp	00149$
;printf_large.c:433: case '-':
00117$:
;printf_large.c:434: left_justify = 1;
;     genAssign
	setb	__print_format_left_justify_1_1
;printf_large.c:435: goto get_conversion_spec;
	ljmp	00101$
;printf_large.c:436: case '+':
00118$:
;printf_large.c:437: prefix_sign = 1;
;     genAssign
	setb	__print_format_prefix_sign_1_1
;printf_large.c:438: goto get_conversion_spec;
	ljmp	00101$
;printf_large.c:439: case ' ':
00119$:
;printf_large.c:440: prefix_space = 1;
;     genAssign
	setb	__print_format_prefix_space_1_1
;printf_large.c:441: goto get_conversion_spec;
	ljmp	00101$
;printf_large.c:442: case 'B':
00120$:
;printf_large.c:443: char_argument = 1;
;     genAssign
	setb	__print_format_char_argument_1_1
;printf_large.c:444: goto get_conversion_spec;
	ljmp	00101$
;printf_large.c:445: case 'L':
00121$:
;printf_large.c:446: long_argument = 1;
;     genAssign
	setb	__print_format_long_argument_1_1
;printf_large.c:447: goto get_conversion_spec;
	ljmp	00101$
;printf_large.c:449: case 'C':
00122$:
;printf_large.c:450: output_char( va_arg(ap,int), p );
;     genAssign
	mov	dptr,#__print_format_PARM_4
	movx	a,@dptr
;     genMinus
;     genMinusDec
;	Peephole 105	removed redundant mov
	mov	r2,a
	add	a,#0xfe
;     genAssign
;	Peephole 100	removed redundant mov
	mov	r0,a
	mov	dptr,#__print_format_PARM_4
	movx	@dptr,a
;     genPointerGet
;     genNearPointerGet
	mov	ar2,@r0
	inc	r0
	mov	ar3,@r0
	dec	r0
;     genCast
;     genIpush
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00326$
	push	acc
	mov	a,#(00326$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,r2
	ret
00326$:
	dec	sp
	dec	sp
	dec	sp
;printf_large.c:451: charsOutputted++;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genPlus
	mov	dptr,#__print_format_charsOutputted_1_1
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	inc	dptr
	movx	@dptr,a
;printf_large.c:452: break;
	ljmp	00150$
;printf_large.c:454: case 'S':
00123$:
;printf_large.c:455: PTR = va_arg(ap,ptr_t);
;     genAssign
	mov	dptr,#__print_format_PARM_4
	movx	a,@dptr
;     genMinus
;     genMinusDec
;	Peephole 105	removed redundant mov
	mov	r2,a
	add	a,#0xfd
;     genAssign
;	Peephole 100	removed redundant mov
	mov	r0,a
	mov	dptr,#__print_format_PARM_4
	movx	@dptr,a
;     genPointerGet
;     genNearPointerGet
	mov	ar2,@r0
	inc	r0
	mov	ar3,@r0
	inc	r0
	mov	ar4,@r0
	dec	r0
	dec	r0
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;printf_large.c:465: length = strlen(PTR);
;     genCall
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_strlen
	mov	r2,dpl
	mov	r3,dph
;     genCast
;printf_large.c:467: if ( ( !left_justify ) && (length < width) )
;     genIfx
;     genIfxJump
	jnb	__print_format_left_justify_1_1,00327$
	ljmp	00259$
00327$:
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
	mov	r3,a
;     genCmpLt
;     genCmp
	clr	c
	mov	a,r2
	subb	a,r3
;     genIfxJump
;	Peephole 108	removed ljmp by inverse jump logic
	jnc	00259$
00328$:
;printf_large.c:469: width -= length;
;     genMinus
	mov	dptr,#__print_format_width_1_1
	mov	a,r3
	clr	c
;	Peephole 236.l	used r2 instead of ar2
	subb	a,r2
	movx	@dptr,a
;printf_large.c:470: while( width-- != 0 )
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
	mov	r7,a
00124$:
;     genIpush
	push	ar2
;     genAssign
	mov	ar2,r7
;     genMinus
;     genMinusDec
	dec	r7
;     genAssign
	mov	dptr,#__print_format_width_1_1
	mov	a,r7
	movx	@dptr,a
;     genCmpEq
;	Peephole 241.c	optimized compare
	clr	a
	cjne	r2,#0x00,00329$
	inc	a
00329$:
00330$:
	mov	r2,a
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;     genIfx
	mov	a,r2
;     genIpop
	pop	ar2
;     genIfxJump
;	Peephole 109	removed ljmp by inverse jump logic
	jnz	00259$
00331$:
;printf_large.c:472: output_char( ' ', p );
;     genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar7
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00332$
	push	acc
	mov	a,#(00332$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,#0x20
	ret
00332$:
	dec	sp
	dec	sp
	dec	sp
	pop	ar7
	pop	ar4
	pop	ar3
	pop	ar2
;printf_large.c:473: charsOutputted++;
;     genPlus
;     genPlusIncr
	inc	r3
;printf_large.c:477: while ( *PTR )
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	r3,#0x00,00124$
	inc	r4
00333$:
	sjmp	00124$
00259$:
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	__print_format_sloc0_1_0,a
	inc	dptr
	movx	a,@dptr
	mov	(__print_format_sloc0_1_0 + 1),a
00130$:
;     genIpush
	push	ar2
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#_value
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genPointerGet
;     genGenPointerGet
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	lcall	__gptrget
	mov	r7,a
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	mov	a,__print_format_sloc0_1_0
	movx	@dptr,a
	inc	dptr
	mov	a,(__print_format_sloc0_1_0 + 1)
	movx	@dptr,a
;     genIpop
	pop	ar2
;     genIfx
	mov	a,r7
;     genIfxJump
;	Peephole 110	removed ljmp by inverse jump logic
	jz	00132$
00334$:
;printf_large.c:479: output_char( *PTR++, p );
;     genIpush
	push	ar2
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#_value
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;     genPlus
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r5 instead of ar5
	add	a,r5
	mov	r2,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r6 instead of ar6
	addc	a,r6
	mov	r3,a
	mov	ar4,r7
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;     genPointerGet
;     genGenPointerGet
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r2,a
;     genIpush
	push	ar2
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00335$
	push	acc
	mov	a,#(00335$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,r2
	ret
00335$:
	dec	sp
	dec	sp
	dec	sp
	pop	ar2
;printf_large.c:480: charsOutputted++;
;     genPlus
;     genPlusIncr
	inc	__print_format_sloc0_1_0
	clr	a
	cjne	a,__print_format_sloc0_1_0,00336$
	inc	(__print_format_sloc0_1_0 + 1)
00336$:
;     genIpop
	pop	ar2
	ljmp	00130$
00132$:
;printf_large.c:483: if ( left_justify && (length < width))
;     genIfx
;     genIfxJump
	jb	__print_format_left_justify_1_1,00337$
	ljmp	00150$
00337$:
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
	mov	r3,a
;     genCmpLt
;     genCmp
	clr	c
	mov	a,r2
	subb	a,r3
;     genIfxJump
	jc	00338$
	ljmp	00150$
00338$:
;printf_large.c:485: width -= length;
;     genMinus
	mov	dptr,#__print_format_width_1_1
	mov	a,r3
	clr	c
;	Peephole 236.l	used r2 instead of ar2
	subb	a,r2
	movx	@dptr,a
;printf_large.c:486: while( width-- != 0 )
;     genAssign
	mov	r2,__print_format_sloc0_1_0
	mov	r3,(__print_format_sloc0_1_0 + 1)
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
	mov	r4,a
00133$:
;     genAssign
	mov	ar7,r4
;     genMinus
;     genMinusDec
	dec	r4
;     genAssign
	mov	dptr,#__print_format_width_1_1
	mov	a,r4
	movx	@dptr,a
;     genCmpEq
;	Peephole 241.c	optimized compare
	clr	a
	cjne	r7,#0x00,00339$
	inc	a
00339$:
00340$:
	mov	r7,a
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
;     genIfx
	mov	a,r7
;     genIfxJump
	jz	00341$
	ljmp	00150$
00341$:
;printf_large.c:488: output_char( ' ', p );
;     genIpush
	push	ar2
	push	ar3
	push	ar4
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00342$
	push	acc
	mov	a,#(00342$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,#0x20
	ret
00342$:
	dec	sp
	dec	sp
	dec	sp
	pop	ar4
	pop	ar3
	pop	ar2
;printf_large.c:489: charsOutputted++;
;     genPlus
;     genPlusIncr
	inc	r2
;printf_large.c:494: case 'P':
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	r2,#0x00,00133$
	inc	r3
00343$:
	sjmp	00133$
00139$:
;printf_large.c:495: PTR = va_arg(ap,ptr_t);
;     genAssign
	mov	dptr,#__print_format_PARM_4
	movx	a,@dptr
;     genMinus
;     genMinusDec
;	Peephole 105	removed redundant mov
	mov	r2,a
	add	a,#0xfd
;     genAssign
;	Peephole 100	removed redundant mov
	mov	r0,a
	mov	dptr,#__print_format_PARM_4
	movx	@dptr,a
;     genPointerGet
;     genNearPointerGet
	mov	ar2,@r0
	inc	r0
	mov	ar3,@r0
	inc	r0
	mov	ar4,@r0
	dec	r0
	dec	r0
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;printf_large.c:507: output_char( memory_id[(value.byte[2] > 3) ? 4 : value.byte[2]], p );
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0002)
	movx	a,@dptr
;     genCmpGt
;     genCmp
;     genIfxJump
;	Peephole 108	removed ljmp by inverse jump logic
;	Peephole 132.b	optimized genCmpGt by inverse logic (acc differs)
;	Peephole 177.a	removed redundant mov
	mov  r2,a
	add	a,#0xff - 0x03
	jnc	00226$
00344$:
;     genAssign
	mov	r2,#0x04
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00227$
00226$:
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0002)
	movx	a,@dptr
	mov	r2,a
00227$:
;     genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
;	Peephole 181	changed mov to clr
;     genPointerGet
;     genCodePointerGet
;	Peephole 181	changed mov to clr
;	Peephole 186.d	optimized movc sequence
	mov	dptr,#_memory_id
	movc	a,@a+dptr
	mov	r2,a
;     genIpush
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00345$
	push	acc
	mov	a,#(00345$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,r2
	ret
00345$:
	dec	sp
	dec	sp
	dec	sp
;printf_large.c:508: output_char(':', p);
;     genIpush
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00346$
	push	acc
	mov	a,#(00346$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,#0x3A
	ret
00346$:
	dec	sp
	dec	sp
	dec	sp
;printf_large.c:509: output_char('0', p);
;     genIpush
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00347$
	push	acc
	mov	a,#(00347$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,#0x30
	ret
00347$:
	dec	sp
	dec	sp
	dec	sp
;printf_large.c:510: output_char('x', p);
;     genIpush
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00348$
	push	acc
	mov	a,#(00348$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,#0x78
	ret
00348$:
	dec	sp
	dec	sp
	dec	sp
;printf_large.c:511: if ((value.byte[2] != 0x00 /* DSEG */) &&
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0002)
	movx	a,@dptr
;     genCmpEq
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 115.b	jump optimization
	mov	r2,a
	jz	00141$
00349$:
;printf_large.c:512: (value.byte[2] != 0x03 /* SSEG */))
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0002)
	movx	a,@dptr
	mov	r2,a
;     genCmpEq
	cjne	r2,#0x03,00350$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00141$
00350$:
;printf_large.c:514: OUTPUT_2DIGITS( value.byte[1] );
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0001)
	movx	a,@dptr
;     genCall
;	Peephole 244.c	loading dpl from a instead of r2
	mov	r2,a
	mov	dpl,a
	lcall	_output_2digits
;printf_large.c:515: charsOutputted += 2;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genPlus
	mov	dptr,#__print_format_charsOutputted_1_1
;     genPlusIncr
	mov	a,#0x02
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	inc	dptr
	movx	@dptr,a
00141$:
;printf_large.c:517: OUTPUT_2DIGITS( value.byte[0] );
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#_value
	movx	a,@dptr
;     genCall
;	Peephole 244.c	loading dpl from a instead of r2
	mov	r2,a
	mov	dpl,a
	lcall	_output_2digits
;printf_large.c:518: charsOutputted += 6;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genPlus
	mov	dptr,#__print_format_charsOutputted_1_1
	mov	a,#0x06
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	inc	dptr
	movx	@dptr,a
;printf_large.c:520: break;
;printf_large.c:523: case 'I':
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00150$
00144$:
;printf_large.c:524: signed_argument = 1;
;     genAssign
	setb	__print_format_signed_argument_1_1
;printf_large.c:525: radix = 10;
;     genAssign
	mov	dptr,#__print_format_radix_1_1
	mov	a,#0x0A
	movx	@dptr,a
;printf_large.c:526: break;
;printf_large.c:528: case 'O':
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00150$
00145$:
;printf_large.c:529: radix = 8;
;     genAssign
	mov	dptr,#__print_format_radix_1_1
	mov	a,#0x08
	movx	@dptr,a
;printf_large.c:530: break;
;printf_large.c:532: case 'U':
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00150$
00146$:
;printf_large.c:533: radix = 10;
;     genAssign
	mov	dptr,#__print_format_radix_1_1
	mov	a,#0x0A
	movx	@dptr,a
;printf_large.c:534: break;
;printf_large.c:536: case 'X':
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00150$
00147$:
;printf_large.c:537: radix = 16;
;     genAssign
	mov	dptr,#__print_format_radix_1_1
	mov	a,#0x10
	movx	@dptr,a
;printf_large.c:538: break;
;printf_large.c:540: case 'F':
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00150$
00148$:
;printf_large.c:541: float_argument=1;
;     genAssign
	setb	__print_format_float_argument_1_1
;printf_large.c:542: break;
;printf_large.c:544: default:
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00150$
00149$:
;printf_large.c:546: output_char( c, p );
;     genIpush
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00351$
	push	acc
	mov	a,#(00351$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,r6
	ret
00351$:
	dec	sp
	dec	sp
	dec	sp
;printf_large.c:547: charsOutputted++;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genPlus
	mov	dptr,#__print_format_charsOutputted_1_1
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	inc	dptr
	movx	@dptr,a
;printf_large.c:549: }
00150$:
;printf_large.c:551: if (float_argument) {
;     genIfx
;     genIfxJump
	jb	__print_format_float_argument_1_1,00352$
	ljmp	00216$
00352$:
;printf_large.c:552: value.f=va_arg(ap,float);
;     genAssign
	mov	dptr,#__print_format_PARM_4
	movx	a,@dptr
;     genMinus
;     genMinusDec
;	Peephole 105	removed redundant mov
	mov	r2,a
	add	a,#0xfc
;     genAssign
;	Peephole 100	removed redundant mov
	mov	r0,a
	mov	dptr,#__print_format_PARM_4
	movx	@dptr,a
;     genPointerGet
;     genNearPointerGet
	mov	ar2,@r0
	inc	r0
	mov	ar3,@r0
	inc	r0
	mov	ar4,@r0
	inc	r0
	mov	ar6,@r0
	dec	r0
	dec	r0
	dec	r0
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
;printf_large.c:554: PTR="<NO FLOAT>";
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,#__str_0
	movx	@dptr,a
	inc	dptr
	mov	a,#(__str_0 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x02
	movx	@dptr,a
;printf_large.c:555: while (c=*PTR++)
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	__print_format_sloc1_1_0,a
	inc	dptr
	movx	a,@dptr
	mov	(__print_format_sloc1_1_0 + 1),a
00151$:
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#_value
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;     genPlus
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r5 instead of ar5
	add	a,r5
	mov	r2,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r6 instead of ar6
	addc	a,r6
	mov	r3,a
	mov	ar4,r7
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;     genPointerGet
;     genGenPointerGet
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r2,a
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	mov	a,__print_format_sloc1_1_0
	movx	@dptr,a
	inc	dptr
	mov	a,(__print_format_sloc1_1_0 + 1)
	movx	@dptr,a
;     genIfx
	mov	a,r2
;     genIfxJump
	jnz	00353$
	ljmp	00221$
00353$:
;printf_large.c:557: output_char (c, p);
;     genIpush
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00354$
	push	acc
	mov	a,#(00354$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,r2
	ret
00354$:
	dec	sp
	dec	sp
	dec	sp
;printf_large.c:558: charsOutputted++;
;     genPlus
;     genPlusIncr
	inc	__print_format_sloc1_1_0
	clr	a
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	a,__print_format_sloc1_1_0,00151$
	inc	(__print_format_sloc1_1_0 + 1)
00355$:
	sjmp	00151$
00216$:
;printf_large.c:570: } else if (radix != 0)
;     genAssign
	mov	dptr,#__print_format_radix_1_1
	movx	a,@dptr
	mov	r2,a
;     genCmpEq
	cjne	r2,#0x00,00356$
	ljmp	00221$
00356$:
;printf_large.c:575: unsigned char _AUTOMEM *pstore = &store[5];
;     genAssign
	mov	dptr,#__print_format_pstore_4_20
	mov	a,#(__print_format_store_4_20 + 0x0005)
	movx	@dptr,a
	inc	dptr
	mov	a,#((__print_format_store_4_20 + 0x0005) >> 8)
	movx	@dptr,a
;printf_large.c:578: if (char_argument)
;     genIfx
;     genIfxJump
;	Peephole 111	removed ljmp by inverse jump logic
	jnb	__print_format_char_argument_1_1,00162$
00357$:
;printf_large.c:580: value.l = va_arg(ap,char);
;     genAssign
	mov	dptr,#__print_format_PARM_4
	movx	a,@dptr
;     genMinus
;     genMinusDec
;	Peephole 105	removed redundant mov
	mov	r2,a
	dec	a
;     genAssign
;	Peephole 100	removed redundant mov
	mov	r0,a
	mov	dptr,#__print_format_PARM_4
	movx	@dptr,a
;     genPointerGet
;     genNearPointerGet
	mov	ar2,@r0
;     genCast
	mov	a,r2
	rlc	a
	subb	a,acc
	mov	r3,a
	mov	r4,a
	mov	r6,a
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
;printf_large.c:581: if (!signed_argument)
;     genIfx
;     genIfxJump
	jnb	__print_format_signed_argument_1_1,00358$
	ljmp	00163$
00358$:
;printf_large.c:583: value.l &= 0xFF;
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#_value
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
;     genAnd
	mov	r3,#0x00
	mov	r4,#0x00
	mov	r6,#0x00
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00163$
00162$:
;printf_large.c:586: else if (long_argument)
;     genIfx
;     genIfxJump
;	Peephole 111	removed ljmp by inverse jump logic
	jnb	__print_format_long_argument_1_1,00159$
00359$:
;printf_large.c:588: value.l = va_arg(ap,long);
;     genAssign
	mov	dptr,#__print_format_PARM_4
	movx	a,@dptr
;     genMinus
;     genMinusDec
;	Peephole 105	removed redundant mov
	mov	r2,a
	add	a,#0xfc
;     genAssign
;	Peephole 100	removed redundant mov
	mov	r0,a
	mov	dptr,#__print_format_PARM_4
	movx	@dptr,a
;     genPointerGet
;     genNearPointerGet
	mov	ar2,@r0
	inc	r0
	mov	ar3,@r0
	inc	r0
	mov	ar4,@r0
	inc	r0
	mov	ar6,@r0
	dec	r0
	dec	r0
	dec	r0
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00163$
00159$:
;printf_large.c:592: value.l = va_arg(ap,int);
;     genAssign
	mov	dptr,#__print_format_PARM_4
	movx	a,@dptr
;     genMinus
;     genMinusDec
;	Peephole 105	removed redundant mov
	mov	r2,a
	add	a,#0xfe
;     genAssign
;	Peephole 100	removed redundant mov
	mov	r0,a
	mov	dptr,#__print_format_PARM_4
	movx	@dptr,a
;     genPointerGet
;     genNearPointerGet
	mov	ar2,@r0
	inc	r0
	mov	ar3,@r0
	dec	r0
;     genCast
	mov	a,r3
	rlc	a
	subb	a,acc
	mov	r4,a
	mov	r6,a
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
;printf_large.c:593: if (!signed_argument)
;     genIfx
;     genIfxJump
;	Peephole 112.a	removed ljmp by inverse jump logic
	jb	__print_format_signed_argument_1_1,00163$
00360$:
;printf_large.c:595: value.l &= 0xFFFF;
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#_value
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
;     genAnd
	mov	r4,#0x00
	mov	r6,#0x00
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
00163$:
;printf_large.c:599: if ( signed_argument )
;     genIfx
;     genIfxJump
;	Peephole 111	removed ljmp by inverse jump logic
	jnb	__print_format_signed_argument_1_1,00168$
00361$:
;printf_large.c:601: if (value.l < 0)
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#_value
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
;     genCmpLt
;     genCmp
;	Peephole 105	removed redundant mov
	mov	r6,a
;     genIfxJump
;	Peephole 111	removed ljmp by inverse jump logic
	jnb	acc.7,00165$
00362$:
;printf_large.c:602: value.l = -value.l;
;     genUminus
	clr	c
	clr	a
	subb	a,r2
	mov	r2,a
	clr	a
	subb	a,r3
	mov	r3,a
	clr	a
	subb	a,r4
	mov	r4,a
	clr	a
	subb	a,r6
	mov	r6,a
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#_value
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00168$
00165$:
;printf_large.c:604: signed_argument = 0;
;     genAssign
	clr	__print_format_signed_argument_1_1
00168$:
;printf_large.c:608: lsd = 1;
;     genAssign
	setb	__print_format_lsd_1_1
;printf_large.c:610: do {
;     genAssign
	mov	dptr,#__print_format_radix_1_1
	movx	a,@dptr
	mov	r4,a
;     genAssign
	mov	__print_format_sloc0_1_0,#(__print_format_store_4_20 + 0x0005)
	mov	(__print_format_sloc0_1_0 + 1),#((__print_format_store_4_20 + 0x0005) >> 8)
;     genAssign
	mov	r5,#0x00
00172$:
;printf_large.c:611: value.byte[4] = 0;
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#(_value + 0x0004)
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
;printf_large.c:615: calculate_digit(radix);
;     genCall
	mov	dpl,r4
	push	ar4
	push	ar5
	lcall	_calculate_digit
	pop	ar5
	pop	ar4
;printf_large.c:617: if (!lsd)
;     genIfx
;     genIfxJump
;	Peephole 112.a	removed ljmp by inverse jump logic
	jb	__print_format_lsd_1_1,00170$
00363$:
;printf_large.c:619: *pstore = (value.byte[4] << 4) | (value.byte[4] >> 4) | *pstore;
;     genIpush
	push	ar4
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0004)
	movx	a,@dptr
;     genSwap
;	Peephole 105	removed redundant mov
	mov	r7,a
	swap	a
	mov	r7,a
;     genPointerGet
;     genFarPointerGet
	mov	dpl,__print_format_sloc0_1_0
	mov	dph,(__print_format_sloc0_1_0 + 1)
	movx	a,@dptr
;     genOr
;	Peephole 105	removed redundant mov
	mov	r2,a
	orl	ar7,a
;     genPointerSet
;     genFarPointerSet
	mov	dpl,__print_format_sloc0_1_0
	mov	dph,(__print_format_sloc0_1_0 + 1)
	mov	a,r7
	movx	@dptr,a
;printf_large.c:620: pstore--;
;     genMinus
;     genMinusDec
	dec	__print_format_sloc0_1_0
	mov	a,#0xff
	cjne	a,__print_format_sloc0_1_0,00364$
	dec	(__print_format_sloc0_1_0 + 1)
00364$:
;     genIpop
	pop	ar4
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00171$
00170$:
;printf_large.c:624: *pstore = value.byte[4];
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0004)
	movx	a,@dptr
;     genPointerSet
;     genFarPointerSet
;	Peephole 136	removed redundant moves
	mov	r7,a
	mov	dpl,__print_format_sloc0_1_0
	mov	dph,(__print_format_sloc0_1_0 + 1)
	movx	@dptr,a
00171$:
;printf_large.c:626: length++;
;     genPlus
;     genPlusIncr
	inc	r5
;printf_large.c:627: lsd = !lsd;
;     genNot
;	Peephole 167	removed redundant bit moves (c not set to __print_format_lsd_1_1)
	cpl	__print_format_lsd_1_1
;printf_large.c:628: } while( value.ul );
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#_value
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genAssign
	mov	dptr,#__print_format_pstore_4_20
	mov	a,__print_format_sloc0_1_0
	movx	@dptr,a
	inc	dptr
	mov	a,(__print_format_sloc0_1_0 + 1)
	movx	@dptr,a
;     genIfx
	mov	a,r7
	orl	a,r2
	orl	a,r6
	orl	a,r3
;     genIfxJump
;	Peephole 109	removed ljmp by inverse jump logic
	jnz	00172$
00365$:
;printf_large.c:630: if (width == 0)
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
;     genCmpEq
;	Peephole 115.b	jump optimization
	mov	r2,a
	jz	00367$
00366$:
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00176$
00367$:
;printf_large.c:635: width=1;
;     genAssign
	mov	dptr,#__print_format_width_1_1
	mov	a,#0x01
	movx	@dptr,a
00176$:
;printf_large.c:639: if (!zero_padding && !left_justify)
;     genIfx
;     genIfxJump
;	Peephole 112.a	removed ljmp by inverse jump logic
	jb	__print_format_zero_padding_1_1,00181$
00368$:
;     genIfx
;     genIfxJump
;	Peephole 112.a	removed ljmp by inverse jump logic
	jb	__print_format_left_justify_1_1,00181$
00369$:
;printf_large.c:641: while ( width > (unsigned char) (length+1) )
;     genPlus
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r5 instead of ar5
	add	a,r5
	mov	r2,a
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
	mov	r6,a
00177$:
;     genCmpGt
;     genCmp
	clr	c
	mov	a,r2
	subb	a,r6
	clr	a
	rlc	a
	mov	r7,a
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;     genAssign
	mov	dptr,#__print_format_width_1_1
	mov	a,r6
	movx	@dptr,a
;     genIfx
	mov	a,r7
;     genIfxJump
;	Peephole 110	removed ljmp by inverse jump logic
	jz	00181$
00370$:
;printf_large.c:643: output_char( ' ', p );
;     genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00371$
	push	acc
	mov	a,#(00371$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,#0x20
	ret
00371$:
	dec	sp
	dec	sp
	dec	sp
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;printf_large.c:644: charsOutputted++;
;     genPlus
;     genPlusIncr
	inc	r3
	cjne	r3,#0x00,00372$
	inc	r4
00372$:
;printf_large.c:645: width--;
;     genMinus
;     genMinusDec
	dec	r6
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00177$
00181$:
;printf_large.c:649: if (signed_argument) // this now means the original value was negative
;     genIfx
;     genIfxJump
;	Peephole 111	removed ljmp by inverse jump logic
	jnb	__print_format_signed_argument_1_1,00191$
00373$:
;printf_large.c:651: output_char( '-', p );
;     genIpush
	push	ar5
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00374$
	push	acc
	mov	a,#(00374$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,#0x2D
	ret
00374$:
	dec	sp
	dec	sp
	dec	sp
	pop	ar5
;printf_large.c:652: charsOutputted++;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genPlus
	mov	dptr,#__print_format_charsOutputted_1_1
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	inc	dptr
	movx	@dptr,a
;printf_large.c:654: width--;
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
;     genMinus
;     genMinusDec
;	Peephole 105	removed redundant mov
	mov	r2,a
	dec	a
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	@dptr,a
	ljmp	00192$
00191$:
;printf_large.c:656: else if (length != 0)
;     genCmpEq
	cjne	r5,#0x00,00375$
	ljmp	00192$
00375$:
;printf_large.c:659: if (prefix_sign)
;     genIfx
;     genIfxJump
;	Peephole 111	removed ljmp by inverse jump logic
	jnb	__print_format_prefix_sign_1_1,00186$
00376$:
;printf_large.c:661: output_char( '+', p );
;     genIpush
	push	ar5
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00377$
	push	acc
	mov	a,#(00377$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,#0x2B
	ret
00377$:
	dec	sp
	dec	sp
	dec	sp
	pop	ar5
;printf_large.c:662: charsOutputted++;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genPlus
	mov	dptr,#__print_format_charsOutputted_1_1
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	inc	dptr
	movx	@dptr,a
;printf_large.c:664: width--;
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
;     genMinus
;     genMinusDec
;	Peephole 105	removed redundant mov
	mov	r2,a
	dec	a
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	@dptr,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00192$
00186$:
;printf_large.c:666: else if (prefix_space)
;     genIfx
;     genIfxJump
;	Peephole 111	removed ljmp by inverse jump logic
	jnb	__print_format_prefix_space_1_1,00192$
00378$:
;printf_large.c:668: output_char( ' ', p );
;     genIpush
	push	ar5
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00379$
	push	acc
	mov	a,#(00379$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,#0x20
	ret
00379$:
	dec	sp
	dec	sp
	dec	sp
	pop	ar5
;printf_large.c:669: charsOutputted++;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genPlus
	mov	dptr,#__print_format_charsOutputted_1_1
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	inc	dptr
	movx	@dptr,a
;printf_large.c:671: width--;
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
;     genMinus
;     genMinusDec
;	Peephole 105	removed redundant mov
	mov	r2,a
	dec	a
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	@dptr,a
00192$:
;printf_large.c:676: if (!left_justify)
;     genIfx
;     genIfxJump
;	Peephole 112.a	removed ljmp by inverse jump logic
	jb	__print_format_left_justify_1_1,00200$
00380$:
;printf_large.c:677: while ( width-- > length )
;     genAssign
	mov	ar2,r5
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
	mov	r6,a
00193$:
;     genAssign
	mov	ar7,r6
;     genMinus
;     genMinusDec
	dec	r6
;     genAssign
	mov	dptr,#__print_format_width_1_1
	mov	a,r6
	movx	@dptr,a
;     genCmpGt
;     genCmp
	clr	c
	mov	a,r2
	subb	a,r7
	clr	a
	rlc	a
	mov	r7,a
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;     genIfx
	mov	a,r7
;     genIfxJump
;	Peephole 110	removed ljmp by inverse jump logic
	jz	00294$
00381$:
;printf_large.c:679: output_char( zero_padding ? '0' : ' ', p );
;     genIfx
;     genIfxJump
;	Peephole 111	removed ljmp by inverse jump logic
	jnb	__print_format_zero_padding_1_1,00228$
00382$:
;     genAssign
	mov	r7,#0x30
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00229$
00228$:
;     genAssign
	mov	r7,#0x20
00229$:
;     genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00383$
	push	acc
	mov	a,#(00383$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,r7
	ret
00383$:
	dec	sp
	dec	sp
	dec	sp
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;printf_large.c:680: charsOutputted++;
;     genPlus
;     genPlusIncr
	inc	r3
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	r3,#0x00,00193$
	inc	r4
00384$:
	sjmp	00193$
00200$:
;printf_large.c:685: if (width > length)
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
	mov	r2,a
;     genCmpGt
;     genCmp
	clr	c
	mov	a,r5
	subb	a,r2
;     genIfxJump
;	Peephole 108	removed ljmp by inverse jump logic
	jnc	00197$
00385$:
;printf_large.c:686: width -= length;
;     genMinus
	mov	dptr,#__print_format_width_1_1
	mov	a,r2
	clr	c
;	Peephole 236.l	used r5 instead of ar5
	subb	a,r5
	movx	@dptr,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00294$
00197$:
;printf_large.c:688: width = 0;
;     genAssign
	mov	dptr,#__print_format_width_1_1
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
;printf_large.c:692: while( length-- )
00294$:
;     genAssign
	mov	dptr,#__print_format_pstore_4_20
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
;     genAssign
00205$:
;     genAssign
	mov	ar7,r5
;     genMinus
;     genMinusDec
	dec	r5
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
;     genIfx
	mov	a,r7
;     genIfxJump
;	Peephole 110	removed ljmp by inverse jump logic
	jz	00207$
00386$:
;printf_large.c:694: lsd = !lsd;
;     genNot
;	Peephole 167	removed redundant bit moves (c not set to __print_format_lsd_1_1)
	cpl	__print_format_lsd_1_1
;printf_large.c:695: if (!lsd)
;     genIfx
;     genIfxJump
;	Peephole 112.a	removed ljmp by inverse jump logic
	jb	__print_format_lsd_1_1,00203$
00387$:
;printf_large.c:697: pstore++;
;     genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00388$
	inc	r3
00388$:
;printf_large.c:698: value.byte[4] = *pstore >> 4;
;     genPointerGet
;     genFarPointerGet
	mov	dpl,r2
	mov	dph,r3
	movx	a,@dptr
;     genRightShift
;     genRightShiftLiteral
;     genrshOne
;	Peephole 105	removed redundant mov
	mov	r7,a
	swap	a
	anl	a,#0x0f
;     genPointerSet
;     genFarPointerSet
;	Peephole 100	removed redundant mov
	mov	r7,a
	mov	dptr,#(_value + 0x0004)
	movx	@dptr,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00204$
00203$:
;printf_large.c:702: value.byte[4] = *pstore & 0x0F;
;     genPointerGet
;     genFarPointerGet
	mov	dpl,r2
	mov	dph,r3
	movx	a,@dptr
	mov	r7,a
;     genAnd
	anl	ar7,#0x0F
;     genPointerSet
;     genFarPointerSet
	mov	dptr,#(_value + 0x0004)
	mov	a,r7
	movx	@dptr,a
00204$:
;printf_large.c:707: output_digit( value.byte[4] );
;     genPointerGet
;     genFarPointerGet
	mov	dptr,#(_value + 0x0004)
	movx	a,@dptr
;     genCall
;	Peephole 244.c	loading dpl from a instead of r7
	mov	r7,a
	mov	dpl,a
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	lcall	_output_digit
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;printf_large.c:709: charsOutputted++;
;     genPlus
;     genPlusIncr
	inc	r4
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	r4,#0x00,00205$
	inc	r6
00389$:
	sjmp	00205$
00207$:
;printf_large.c:711: if (left_justify)
;     genIfx
;     genIfxJump
	jb	__print_format_left_justify_1_1,00390$
	ljmp	00221$
00390$:
;printf_large.c:712: while (width-- > 0)
;     genAssign
	mov	ar2,r4
	mov	ar3,r6
;     genAssign
	mov	dptr,#__print_format_width_1_1
	movx	a,@dptr
	mov	r4,a
00208$:
;     genAssign
	mov	ar6,r4
;     genMinus
;     genMinusDec
	dec	r4
;     genCmpGt
;     genCmp
	clr	c
;	Peephole 181	changed mov to clr
	clr	a
	subb	a,r6
	clr	a
	rlc	a
	mov	r6,a
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
;     genIfx
	mov	a,r6
;     genIfxJump
	jnz	00391$
	ljmp	00221$
00391$:
;printf_large.c:714: output_char(' ', p);
;     genIpush
	push	ar2
	push	ar3
	push	ar4
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00392$
	push	acc
	mov	a,#(00392$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,#0x20
	ret
00392$:
	dec	sp
	dec	sp
	dec	sp
	pop	ar4
	pop	ar3
	pop	ar2
;printf_large.c:715: charsOutputted++;
;     genPlus
;     genPlusIncr
	inc	r2
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	r2,#0x00,00208$
	inc	r3
00393$:
	sjmp	00208$
00219$:
;printf_large.c:722: output_char( c, p );
;     genIpush
	mov	dptr,#_p
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
;     genPCall
	mov	a,#00394$
	push	acc
	mov	a,#(00394$ >> 8)
	push	acc
	mov	dptr,#_output_char
	movx	a,@dptr
	push	acc
	inc	dptr
	movx	a,@dptr
	push	acc
	mov	dpl,r5
	ret
00394$:
	dec	sp
	dec	sp
	dec	sp
;printf_large.c:723: charsOutputted++;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;     genPlus
	mov	dptr,#__print_format_charsOutputted_1_1
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	inc	dptr
	movx	@dptr,a
	ljmp	00221$
00223$:
;printf_large.c:727: return charsOutputted;
;     genAssign
	mov	dptr,#__print_format_charsOutputted_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;     genRet
;	Peephole 235	loading dph directly from a(ccumulator), r3 not set
	mov	dpl,r2
	mov	dph,a
00224$:
	ret
	.area CSEG    (CODE)
_memory_id:
	.ascii "IXCP-"
	.db 0x00
__str_0:
	.ascii "<NO FLOAT>"
	.db 0x00
	.area XINIT   (CODE)
