;--------------------------------------------------------
; File Created by SDCC : FreeWare ANSI-C Compiler
; Version 2.5.1 #1056 (Oct 12 2005)
; This file generated Wed Oct 12 23:06:33 2005
;--------------------------------------------------------
	.module printf_large
	.optsdcc -mz80
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl __print_format
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
;--------------------------------------------------------
;  ram data
;--------------------------------------------------------
	.area _DATA
;--------------------------------------------------------
; overlayable items in  ram 
;--------------------------------------------------------
	.area _OVERLAY
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area _CODE
	.area _GSINIT
	.area _GSFINAL
	.area _GSINIT
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area _HOME
	.area _CODE
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area _CODE
;printf_large.c:78: static void output_digit( unsigned char n, BOOL lower_case, pfn_outputchar output_char, void* p )
;	genLabel
;	genFunction
;	---------------------------------
; Function output_digit
; ---------------------------------
_output_digit:
	push	ix
	ld	ix,#0
	add	ix,sp
;printf_large.c:83: output_char( n <= 9 ? '0'+n :
;	genCmpGt
;	AOP_STK for 
	ld	a,#0x09
	sub	a,4(ix)
	ld	a,#0x00
	rla
	ld	c,a
;	genNot
	xor	a,a
	or	a,c
	sub	a,#0x01
	ld	a,#0x00
	rla
;	genIfx
	ld	c,a
	or	a,a
	jp	z,00103$
;	genPlus
;	AOP_STK for 
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,4(ix)
	add	a,#0x30
	ld	c,a
;	genGoto
	jp	00104$
;	genLabel
00103$:
;printf_large.c:84: (lower_case ? n+(char)('a'-10) : n+(char)('A'-10)), p );
;	genIfx
;	AOP_STK for 
	xor	a,a
	or	a,5(ix)
	jp	z,00105$
;	genAssign
;	AOP_STK for 
	ld	b,4(ix)
;	genPlus
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,b
	add	a,#0x57
	ld	b,a
;	genGoto
	jp	00106$
;	genLabel
00105$:
;	genAssign
;	AOP_STK for 
	ld	e,4(ix)
;	genPlus
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,e
	add	a,#0x37
	ld	b,a
;	genLabel
00106$:
;	genAssign
	ld	c,b
;	genLabel
00104$:
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	ld	l,8(ix)
	ld	h,9(ix)
	push	hl
;	genIpush
	ld	a,c
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00109$
	push	hl
	ld	l,6(ix)
	ld	h,7(ix)
	jp	(hl)
00109$:
	pop	af
	inc	sp
;	genLabel
00101$:
;	genEndFunction
	pop	ix
	ret
_memory_id:
	.ascii "IXCP-"
	.db 0x00
;printf_large.c:91: static void output_2digits( unsigned char b, BOOL lower_case, pfn_outputchar output_char, void* p )
;	genLabel
;	genFunction
;	---------------------------------
; Function output_2digits
; ---------------------------------
_output_2digits:
	push	ix
	ld	ix,#0
	add	ix,sp
;printf_large.c:93: output_digit( b>>4,   lower_case, output_char, p );
;	genRightShift
;	AOP_STK for 
	ld	c,4(ix)
	srl	c
	srl	c
	srl	c
	srl	c
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	ld	l,8(ix)
	ld	h,9(ix)
	push	hl
;	genIpush
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
;	AOP_STK for 
	ld	a,5(ix)
	push	af
	inc	sp
;	genIpush
	ld	a,c
	push	af
	inc	sp
;	genCall
	call	_output_digit
	pop	af
	pop	af
	pop	af
;printf_large.c:94: output_digit( b&0x0F, lower_case, output_char, p );
;	genAnd
;	AOP_STK for 
	ld	a,4(ix)
	and	a,#0x0F
	ld	c,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	ld	l,8(ix)
	ld	h,9(ix)
	push	hl
;	genIpush
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
;	AOP_STK for 
	ld	a,5(ix)
	push	af
	inc	sp
;	genIpush
	ld	a,c
	push	af
	inc	sp
;	genCall
	call	_output_digit
	pop	af
	pop	af
	pop	af
;	genLabel
00101$:
;	genEndFunction
	pop	ix
	ret
;printf_large.c:108: static void calculate_digit( value_t* value, unsigned char radix )
;	genLabel
;	genFunction
;	---------------------------------
; Function calculate_digit
; ---------------------------------
_calculate_digit:
	push	ix
	ld	ix,#0
	add	ix,sp
	ld	hl,#-9
	add	hl,sp
	ld	sp,hl
;printf_large.c:112: for( i = 32; i != 0; i-- )
;	genAssign
;	AOP_STK for _calculate_digit_i_1_1
	ld	-1(ix),#0x20
;	genLabel
00103$:
;	genCmpEq
;	AOP_STK for _calculate_digit_i_1_1
; genCmpEq: left 1, right 1, result 0
	ld	a,-1(ix)
	or	a,a
	jp	z,00107$
00112$:
;printf_large.c:114: value->byte[4] = (value->byte[4] << 1) | ((value->ul >> 31) & 0x01);
;	genAssign
;	AOP_STK for 
;	AOP_STK for _calculate_digit_sloc2_1_0
	ld	a,4(ix)
	ld	-5(ix),a
	ld	a,5(ix)
	ld	-4(ix),a
;	genPlus
;	AOP_STK for _calculate_digit_sloc2_1_0
;	AOP_STK for _calculate_digit_sloc0_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,-5(ix)
	add	a,#0x04
	ld	-3(ix),a
	ld	a,-4(ix)
	adc	a,#0x00
	ld	-2(ix),a
;	genPointerGet
;	AOP_STK for _calculate_digit_sloc0_1_0
	ld	l,-3(ix)
	ld	h,-2(ix)
	ld	b,(hl)
;	genLeftShift
	ld	a,b
	add	a,a
	ld	b,a
;	genPointerGet
;	AOP_STK for _calculate_digit_sloc2_1_0
;	AOP_STK for _calculate_digit_sloc3_1_0
	ld	l,-5(ix)
	ld	h,-4(ix)
	ld	a,(hl)
	ld	-9(ix),a
	inc	hl
	ld	a,(hl)
	ld	-8(ix),a
	inc	hl
	ld	a,(hl)
	ld	-7(ix),a
	inc	hl
	ld	a,(hl)
	ld	-6(ix),a
;	genGetHBIT
;	AOP_STK for _calculate_digit_sloc3_1_0
	ld	a,-6(ix)
	rlc	a
	and	a,#0x01
	ld	c,a
;	genOr
	ld	a,b
	or	a,c
;	genAssign (pointer)
;	AOP_STK for _calculate_digit_sloc0_1_0
;	isBitvar = 0
	ld	l,-3(ix)
	ld	h,-2(ix)
	ld	(hl),a
;printf_large.c:115: value->ul <<= 1;
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
	ld	a,#0x01
	push	af
	inc	sp
;	genIpush
;	AOP_STK for _calculate_digit_sloc3_1_0
	ld	l,-7(ix)
	ld	h,-6(ix)
	push	hl
	ld	l,-9(ix)
	ld	h,-8(ix)
	push	hl
;	genCall
	call	__rlulong_rrx_s
; Removed redundent load
; Removed redundent load
	ld	b,h
	ld	c,l
	pop	af
	pop	af
	inc	sp
;	genAssign (pointer)
;	AOP_STK for _calculate_digit_sloc2_1_0
;	isBitvar = 0
	ld	l,-5(ix)
	ld	h,-4(ix)
	ld	(hl),c
	inc	hl
	ld	(hl),b
	inc	hl
	ld	(hl),e
	inc	hl
	ld	(hl),d
;printf_large.c:117: if (radix <= value->byte[4] )
;	genPointerGet
;	AOP_STK for _calculate_digit_sloc0_1_0
	ld	l,-3(ix)
	ld	h,-2(ix)
	ld	c,(hl)
;	genCmpGt
;	AOP_STK for 
	ld	a,c
	sub	a,6(ix)
	jp	c,00105$
;printf_large.c:119: value->byte[4] -= radix;
;	genPointerGet
;	AOP_STK for _calculate_digit_sloc0_1_0
	ld	l,-3(ix)
	ld	h,-2(ix)
	ld	c,(hl)
;	genMinus
;	AOP_STK for 
	ld	a,c
	sub	a,6(ix)
;	genAssign (pointer)
;	AOP_STK for _calculate_digit_sloc0_1_0
;	isBitvar = 0
	ld	l,-3(ix)
	ld	h,-2(ix)
	ld	(hl),a
;printf_large.c:120: value->ul |= 1;
;	genPointerGet
;	AOP_STK for _calculate_digit_sloc2_1_0
	ld	l,-5(ix)
	ld	h,-4(ix)
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
;	genOr
;	z80 stream lining 'or' logic
	ld	a,#0x01
	or	a,c
	ld	c,a
;	genAssign (pointer)
;	AOP_STK for _calculate_digit_sloc2_1_0
;	isBitvar = 0
	ld	l,-5(ix)
	ld	h,-4(ix)
	ld	(hl),c
	inc	hl
	ld	(hl),b
	inc	hl
	ld	(hl),e
	inc	hl
	ld	(hl),d
;	genLabel
00105$:
;printf_large.c:112: for( i = 32; i != 0; i-- )
;	genMinus
;	AOP_STK for _calculate_digit_i_1_1
	dec	-1(ix)
;	genGoto
	jp	00103$
;	genLabel
00107$:
;	genEndFunction
	ld	sp,ix
	pop	ix
	ret
;printf_large.c:339: int _print_format (pfn_outputchar pfn, void* pvoid, const char *format, va_list ap)
;	genLabel
;	genFunction
;	---------------------------------
; Function _print_format
; ---------------------------------
__print_format_start::
__print_format:
	push	ix
	ld	ix,#0
	add	ix,sp
	ld	hl,#-53
	add	hl,sp
	ld	sp,hl
;printf_large.c:371: charsOutputted=0;
;	genAssign
;	AOP_STK for __print_format_sloc9_1_0
	ld	-47(ix),#0x00
	ld	-46(ix),#0x00
;printf_large.c:379: while( c=*format++ )
;	genAddrOf
;	AOP_STK for __print_format_sloc0_1_0
	ld	hl,#0x0028
	add	hl,sp
	ld	-30(ix),l
	ld	-29(ix),h
;	genAddrOf
	ld	hl,#0x001B
	add	hl,sp
	ld	e,l
	ld	d,h
;	genPlus
;	AOP_STK for __print_format_sloc6_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,e
	add	a,#0x05
	ld	-42(ix),a
	ld	a,d
	adc	a,#0x00
	ld	-41(ix),a
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc1_1_0
	ld	a,-30(ix)
	ld	-32(ix),a
	ld	a,-29(ix)
	ld	-31(ix),a
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc2_1_0
	ld	a,-30(ix)
	ld	-34(ix),a
	ld	a,-29(ix)
	ld	-33(ix),a
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc3_1_0
	ld	a,-30(ix)
	ld	-36(ix),a
	ld	a,-29(ix)
	ld	-35(ix),a
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc4_1_0
	ld	a,-30(ix)
	ld	-38(ix),a
	ld	a,-29(ix)
	ld	-37(ix),a
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc5_1_0
	ld	a,-30(ix)
	ld	-40(ix),a
	ld	a,-29(ix)
	ld	-39(ix),a
;	genLabel
00224$:
;	genAssign
;	AOP_STK for 
	ld	c,8(ix)
	ld	b,9(ix)
;	genPointerGet
	ld	a,(bc)
	ld	e,a
;	genPlus
;	AOP_STK for 
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,c
	add	a,#0x01
	ld	8(ix),a
	ld	a,b
	adc	a,#0x00
	ld	9(ix),a
;	genAssign
	ld	b,e
;	genIfx
	xor	a,a
	or	a,e
	jp	z,00226$
;printf_large.c:381: if ( c=='%' )
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x25
	jp	z,00303$
00302$:
	jp	00222$
00303$:
;printf_large.c:383: left_justify    = 0;
;	genAssign
;	AOP_STK for __print_format_left_justify_1_1
	ld	-1(ix),#0x00
;printf_large.c:384: zero_padding    = 0;
;	genAssign
;	AOP_STK for __print_format_zero_padding_1_1
	ld	-2(ix),#0x00
;printf_large.c:385: prefix_sign     = 0;
;	genAssign
;	AOP_STK for __print_format_prefix_sign_1_1
	ld	-3(ix),#0x00
;printf_large.c:386: prefix_space    = 0;
;	genAssign
;	AOP_STK for __print_format_prefix_space_1_1
	ld	-4(ix),#0x00
;printf_large.c:387: signed_argument = 0;
;	genAssign
;	AOP_STK for __print_format_signed_argument_1_1
	ld	-5(ix),#0x00
;printf_large.c:388: radix           = 0;
;	genAssign
;	AOP_STK for __print_format_radix_1_1
	ld	-15(ix),#0x00
;printf_large.c:389: char_argument   = 0;
;	genAssign
	ld	c,#0x00
;printf_large.c:390: long_argument   = 0;
;	genAssign
;	AOP_STK for __print_format_long_argument_1_1
	ld	-6(ix),#0x00
;printf_large.c:391: float_argument  = 0;
;	genAssign
;	AOP_STK for __print_format_float_argument_1_1
	ld	-7(ix),#0x00
;printf_large.c:392: width           = 0;
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	-18(ix),#0x00
;printf_large.c:393: decimals        = -1;
;	genAssign
;	AOP_STK for __print_format_decimals_1_1
	ld	-19(ix),#0xFF
;printf_large.c:395: get_conversion_spec:
;	genAssign
;	AOP_STK for 
;	AOP_STK for __print_format_sloc7_1_0
	ld	a,8(ix)
	ld	-44(ix),a
	ld	a,9(ix)
	ld	-43(ix),a
;	genLabel
00101$:
;printf_large.c:397: c = *format++;
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
	ld	l,-44(ix)
	ld	h,-43(ix)
	ld	e,(hl)
;	genPlus
;	AOP_STK for __print_format_sloc7_1_0
;	genPlusIncr
	inc	-44(ix)
	jp	nz,00304$
	inc	-43(ix)
00304$:
;	genAssign
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for 
	ld	a,-44(ix)
	ld	8(ix),a
	ld	a,-43(ix)
	ld	9(ix),a
;	genAssign
	ld	b,e
;printf_large.c:399: if (c=='%') {
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x25
	jp	z,00306$
00305$:
	jp	00103$
00306$:
;printf_large.c:400: output_char(c, p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	push	bc
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00307$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00307$:
	pop	af
	inc	sp
;printf_large.c:401: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc9_1_0
;	genPlusIncr
	inc	-47(ix)
	jp	nz,00308$
	inc	-46(ix)
00308$:
;printf_large.c:402: continue;
;	genGoto
	jp	00224$
;	genLabel
00103$:
;printf_large.c:405: if (isdigit(c)) {
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
	push	bc
	inc	sp
;	genCall
	call	_isdigit
	ld	e,l
	inc	sp
	pop	bc
;	genIfx
	xor	a,a
	or	a,e
	jp	z,00110$
;printf_large.c:406: if (decimals==-1) {
;	genCmpEq
;	AOP_STK for __print_format_decimals_1_1
; genCmpEq: left 1, right 1, result 0
	ld	a,-19(ix)
	cp	a,#0xFF
	jp	z,00310$
00309$:
	jp	00107$
00310$:
;printf_large.c:407: width = 10*width + (c - '0');
;	genMult
;	AOP_STK for __print_format_width_1_1
	ld	e,-18(ix)
	ld	d,#0x00
	ld	l,e
	add	hl,hl
	add	hl,hl
	add	hl,de
	add	hl,hl
	ld	e,l
;	genMinus
	ld	a,b
	add	a,#0xD0
	ld	d,a
;	genPlus
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,e
	add	a,d
	ld	e,a
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	-18(ix),e
;printf_large.c:408: if (width == 0) {
;	genCmpEq
;	AOP_STK for __print_format_width_1_1
; genCmpEq: left 1, right 1, result 0
	ld	a,-18(ix)
	or	a,a
	jp	z,00312$
00311$:
	jp	00101$
00312$:
;printf_large.c:410: zero_padding = 1;
;	genAssign
;	AOP_STK for __print_format_zero_padding_1_1
	ld	-2(ix),#0x01
;	genGoto
	jp	00101$
;	genLabel
00107$:
;printf_large.c:413: decimals = 10*decimals + (c-'0');
;	genMult
;	AOP_STK for __print_format_decimals_1_1
	ld	e,-19(ix)
	ld	l,e
	add	hl,hl
	add	hl,hl
	add	hl,de
	add	hl,hl
	ld	e,l
;	genMinus
	ld	a,b
	add	a,#0xD0
	ld	d,a
;	genPlus
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,e
	add	a,d
	ld	e,a
;	genAssign
;	AOP_STK for __print_format_decimals_1_1
	ld	-19(ix),e
;printf_large.c:415: goto get_conversion_spec;
;	genGoto
	jp	00101$
;	genLabel
00110$:
;printf_large.c:418: if (c=='.') {
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x2E
	jp	z,00314$
00313$:
	jp	00114$
00314$:
;printf_large.c:419: if (decimals=-1) decimals=0;
;	genAssign
;	AOP_STK for __print_format_decimals_1_1
	ld	-19(ix),#0x00
;printf_large.c:422: goto get_conversion_spec;
;	genGoto
	jp	00101$
;	genLabel
00114$:
;printf_large.c:425: lower_case = islower(c);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
	push	bc
	inc	sp
;	genCall
	call	_islower
	ld	e,l
	inc	sp
	pop	bc
;	genAssign
;	AOP_STK for __print_format_lower_case_1_1
	ld	-8(ix),e
;printf_large.c:426: if (lower_case)
;	genIfx
;	AOP_STK for __print_format_lower_case_1_1
	xor	a,a
	or	a,-8(ix)
	jp	z,00116$
;printf_large.c:428: c = toupper(c);
;	genAnd
	ld	a,b
	and	a,#0xDF
	ld	b,a
;	genLabel
00116$:
;printf_large.c:431: switch( c )
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x20
	jp	z,00119$
00315$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x2B
	jp	z,00118$
00316$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x2D
	jp	z,00117$
00317$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x42
	jp	z,00120$
00318$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x43
	jp	z,00122$
00319$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x44
	jp	z,00147$
00320$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x46
	jp	z,00151$
00321$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x49
	jp	z,00147$
00322$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x4C
	jp	z,00121$
00323$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x4F
	jp	z,00148$
00324$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x50
	jp	z,00142$
00325$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x53
	jp	z,00123$
00326$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x55
	jp	z,00149$
00327$:
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	cp	a,#0x58
	jp	z,00150$
00328$:
;	genGoto
	jp	00152$
;printf_large.c:433: case '-':
;	genLabel
00117$:
;printf_large.c:434: left_justify = 1;
;	genAssign
;	AOP_STK for __print_format_left_justify_1_1
	ld	-1(ix),#0x01
;printf_large.c:435: goto get_conversion_spec;
;	genGoto
	jp	00101$
;printf_large.c:436: case '+':
;	genLabel
00118$:
;printf_large.c:437: prefix_sign = 1;
;	genAssign
;	AOP_STK for __print_format_prefix_sign_1_1
	ld	-3(ix),#0x01
;printf_large.c:438: goto get_conversion_spec;
;	genGoto
	jp	00101$
;printf_large.c:439: case ' ':
;	genLabel
00119$:
;printf_large.c:440: prefix_space = 1;
;	genAssign
;	AOP_STK for __print_format_prefix_space_1_1
	ld	-4(ix),#0x01
;printf_large.c:441: goto get_conversion_spec;
;	genGoto
	jp	00101$
;printf_large.c:442: case 'B':
;	genLabel
00120$:
;printf_large.c:443: char_argument = 1;
;	genAssign
	ld	c,#0x01
;printf_large.c:444: goto get_conversion_spec;
;	genGoto
	jp	00101$
;printf_large.c:445: case 'L':
;	genLabel
00121$:
;printf_large.c:446: long_argument = 1;
;	genAssign
;	AOP_STK for __print_format_long_argument_1_1
	ld	-6(ix),#0x01
;printf_large.c:447: goto get_conversion_spec;
;	genGoto
	jp	00101$
;printf_large.c:449: case 'C':
;	genLabel
00122$:
;printf_large.c:450: output_char( va_arg(ap,int), p );
;	genPlus
;	AOP_STK for 
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,10(ix)
	add	a,#0x02
	ld	d,a
	ld	a,11(ix)
	adc	a,#0x00
	ld	e,a
;	genAssign
;	AOP_STK for 
	ld	10(ix),d
	ld	11(ix),e
;	genMinus
	ld	l,d
	ld	h,e
	dec	hl
	dec	hl
;	genPointerGet
	ld	d,l
	ld	e,h
	ld	d,(hl)
	inc	hl
	ld	e,(hl)
;	genCast
; Removed redundent load
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	push	de
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00329$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00329$:
	pop	af
	inc	sp
	pop	bc
;printf_large.c:451: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc9_1_0
;	genPlusIncr
	inc	-47(ix)
	jp	nz,00330$
	inc	-46(ix)
00330$:
;printf_large.c:452: break;
;	genGoto
	jp	00153$
;printf_large.c:454: case 'S':
;	genLabel
00123$:
;printf_large.c:455: PTR = va_arg(ap,ptr_t);
;	genAddrOf
;	AOP_STK for __print_format_sloc7_1_0
	ld	hl,#0x0028
	add	hl,sp
	ld	-44(ix),l
	ld	-43(ix),h
;	genPlus
;	AOP_STK for 
;	genPlusIncr
	ld	e,10(ix)
	ld	d,11(ix)
	inc	de
	inc	de
;	genAssign
;	AOP_STK for 
	ld	10(ix),e
	ld	11(ix),d
;	genMinus
	dec	de
	dec	de
;	genPointerGet
	ld	l,e
	ld	h,d
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc7_1_0
;	isBitvar = 0
	ld	l,-44(ix)
	ld	h,-43(ix)
	ld	(hl),e
	inc	hl
	ld	(hl),d
;printf_large.c:465: length = strlen(PTR);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
	push	de
;	genCall
	call	_strlen
	ld	d,h
	ld	e,l
	pop	af
	pop	bc
;	genCast
;	AOP_STK for __print_format_sloc8_1_0
	ld	-45(ix),e
;printf_large.c:467: if ( decimals == -1 )
;	genCmpEq
;	AOP_STK for __print_format_decimals_1_1
; genCmpEq: left 1, right 1, result 0
	ld	a,-19(ix)
	cp	a,#0xFF
	jp	z,00332$
00331$:
	jp	00125$
00332$:
;printf_large.c:469: decimals = length;
;	genAssign
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_decimals_1_1
	ld	a,-45(ix)
	ld	-19(ix),a
;	genLabel
00125$:
;printf_large.c:471: if ( ( !left_justify ) && (length < width) )
;	genIfx
;	AOP_STK for __print_format_left_justify_1_1
	xor	a,a
	or	a,-1(ix)
	jp	nz,00264$
;	genCmpLt
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_width_1_1
	ld	a,-45(ix)
	sub	a,-18(ix)
	jp	nc,00264$
;printf_large.c:473: width -= length;
;	genMinus
;	AOP_STK for __print_format_width_1_1
;	AOP_STK for __print_format_sloc8_1_0
	ld	a,-18(ix)
	sub	a,-45(ix)
	ld	-18(ix),a
;printf_large.c:474: while( width-- != 0 )
;	genAssign
;	AOP_STK for __print_format_sloc9_1_0
;	AOP_STK for __print_format_sloc7_1_0
	ld	a,-47(ix)
	ld	-44(ix),a
	ld	a,-46(ix)
	ld	-43(ix),a
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	d,-18(ix)
;	genLabel
00126$:
;	genAssign
	ld	e,d
;	genMinus
	dec	d
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	-18(ix),d
;	genCmpEq
; genCmpEq: left 1, right 1, result 1
;4
	ld	a,e
	or	a,a
	jp	nz,00333$
	ld	a,#0x01
	jp	00334$
00333$:
	xor	a,a
00334$:
;6
	ld	e,a
;	genAssign
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for __print_format_sloc9_1_0
	ld	a,-44(ix)
	ld	-47(ix),a
	ld	a,-43(ix)
	ld	-46(ix),a
;	genIfx
	xor	a,a
	or	a,e
	jp	nz,00264$
;printf_large.c:476: output_char( ' ', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 1 bcInUse: 1 deSending: 0
	push	bc
	push	de
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,#0x20
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00335$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00335$:
	pop	af
	inc	sp
	pop	de
	pop	bc
;printf_large.c:477: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc7_1_0
;	genPlusIncr
	inc	-44(ix)
	jp	nz,00336$
	inc	-43(ix)
00336$:
;	genGoto
	jp	00126$
;printf_large.c:481: while ( *PTR  && (decimals-- > 0))
;	genLabel
00264$:
;	genAssign
;	AOP_STK for __print_format_decimals_1_1
	ld	b,-19(ix)
;	genAssign
;	AOP_STK for __print_format_sloc9_1_0
;	AOP_STK for __print_format_sloc7_1_0
	ld	a,-47(ix)
	ld	-44(ix),a
	ld	a,-46(ix)
	ld	-43(ix),a
;	genLabel
00133$:
;	genAddrOf
;	AOP_STK for __print_format_sloc9_1_0
	ld	hl,#0x0028
	add	hl,sp
;	genPointerGet
;	AOP_STK for __print_format_sloc9_1_0
	ld	-47(ix),l
	ld	-46(ix),h
	ld	d,(hl)
	inc	hl
	ld	e,(hl)
;	genPointerGet
	ld	l,d
	ld	h,e
	ld	a,(hl)
;	genIfx
	or	a,a
	jp	z,00135$
;	genAssign
	ld	e,b
;	genMinus
	dec	b
;	genCmpGt
	ld	a,#0x00
	sub	a,e
	jp	p,00135$
;printf_large.c:483: output_char( *PTR++, p );
;	genPointerGet
;	AOP_STK for __print_format_sloc9_1_0
;	AOP_STK for __print_format_sloc11_1_0
	ld	l,-47(ix)
	ld	h,-46(ix)
	ld	a,(hl)
	ld	-49(ix),a
	inc	hl
	ld	a,(hl)
	ld	-48(ix),a
;	genPlus
;	AOP_STK for __print_format_sloc11_1_0
;	genPlusIncr
	ld	e,-49(ix)
	ld	d,-48(ix)
	inc	de
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc9_1_0
;	isBitvar = 0
	ld	l,-47(ix)
	ld	h,-46(ix)
	ld	(hl),e
	inc	hl
	ld	(hl),d
;	genPointerGet
;	AOP_STK for __print_format_sloc11_1_0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	e,(hl)
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,e
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00337$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00337$:
	pop	af
	inc	sp
	pop	bc
;printf_large.c:484: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc7_1_0
;	genPlusIncr
	inc	-44(ix)
	jp	nz,00338$
	inc	-43(ix)
00338$:
;	genAssign
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for __print_format_sloc9_1_0
	ld	a,-44(ix)
	ld	-47(ix),a
	ld	a,-43(ix)
	ld	-46(ix),a
;	genGoto
	jp	00133$
;	genLabel
00135$:
;printf_large.c:487: if ( left_justify && (length < width))
;	genAssign
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for __print_format_sloc9_1_0
	ld	a,-44(ix)
	ld	-47(ix),a
	ld	a,-43(ix)
	ld	-46(ix),a
;	genIfx
;	AOP_STK for __print_format_left_justify_1_1
	xor	a,a
	or	a,-1(ix)
	jp	z,00153$
;	genCmpLt
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_width_1_1
	ld	a,-45(ix)
	sub	a,-18(ix)
	jp	nc,00153$
;printf_large.c:489: width -= length;
;	genMinus
;	AOP_STK for __print_format_width_1_1
;	AOP_STK for __print_format_sloc8_1_0
	ld	a,-18(ix)
	sub	a,-45(ix)
	ld	-18(ix),a
;printf_large.c:490: while( width-- != 0 )
;	genAssign
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for __print_format_charsOutputted_1_1
	ld	a,-44(ix)
	ld	-17(ix),a
	ld	a,-43(ix)
	ld	-16(ix),a
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	e,-18(ix)
;	genLabel
00136$:
;	genAssign
	ld	d,e
;	genMinus
	dec	e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	-18(ix),e
;	genCmpEq
; genCmpEq: left 1, right 1, result 1
;4
	ld	a,d
	or	a,a
	jp	nz,00339$
	ld	a,#0x01
	jp	00340$
00339$:
	xor	a,a
00340$:
;6
	ld	d,a
;	genAssign
;	AOP_STK for __print_format_charsOutputted_1_1
;	AOP_STK for __print_format_sloc9_1_0
	ld	a,-17(ix)
	ld	-47(ix),a
	ld	a,-16(ix)
	ld	-46(ix),a
;	genIfx
	xor	a,a
	or	a,d
	jp	nz,00153$
;printf_large.c:492: output_char( ' ', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 1 bcInUse: 1 deSending: 0
	push	bc
	push	de
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,#0x20
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00341$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00341$:
	pop	af
	inc	sp
	pop	de
	pop	bc
;printf_large.c:493: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_charsOutputted_1_1
;	genPlusIncr
	inc	-17(ix)
	jp	nz,00342$
	inc	-16(ix)
00342$:
;	genGoto
	jp	00136$
;printf_large.c:498: case 'P':
;	genLabel
00142$:
;printf_large.c:499: PTR = va_arg(ap,ptr_t);
;	genAddrOf
;	AOP_STK for __print_format_sloc11_1_0
	ld	hl,#0x0028
	add	hl,sp
	ld	-49(ix),l
	ld	-48(ix),h
;	genPlus
;	AOP_STK for 
;	genPlusIncr
	ld	e,10(ix)
	ld	d,11(ix)
	inc	de
	inc	de
;	genAssign
;	AOP_STK for 
	ld	10(ix),e
	ld	11(ix),d
;	genMinus
	dec	de
	dec	de
;	genPointerGet
	ld	l,e
	ld	h,d
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),e
	inc	hl
	ld	(hl),d
;printf_large.c:511: output_char( memory_id[(value.byte[2] > 3) ? 4 : value.byte[2]], p );
;	genPlus
;	AOP_STK for __print_format_sloc11_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,-49(ix)
	add	a,#0x02
	ld	b,a
	ld	a,-48(ix)
	adc	a,#0x00
	ld	d,a
;	genPointerGet
	ld	l,b
	ld	h,d
	ld	e,(hl)
;	genCmpGt
	ld	a,#0x03
	sub	a,e
	jp	nc,00229$
;	genAssign
	ld	e,#0x04
;	genGoto
	jp	00230$
;	genLabel
00229$:
;	genPointerGet
	ld	l,b
	ld	h,d
	ld	e,(hl)
;	genLabel
00230$:
;	genPlus
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,#<_memory_id
	add	a,e
	ld	e,a
	ld	a,#>_memory_id
	adc	a,#0x00
	ld	d,a
;	genPointerGet
	ld	a,(de)
	ld	e,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,e
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00343$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00343$:
	pop	af
	inc	sp
	pop	bc
;printf_large.c:512: output_char(':', p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,#0x3A
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00344$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00344$:
	pop	af
	inc	sp
	pop	bc
;printf_large.c:513: output_char('0', p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,#0x30
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00345$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00345$:
	pop	af
	inc	sp
	pop	bc
;printf_large.c:514: output_char('x', p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,#0x78
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00346$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00346$:
	pop	af
	inc	sp
	pop	bc
;printf_large.c:515: if ((value.byte[2] != 0x00 /* DSEG */) &&
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,-30(ix)
	add	a,#0x02
	ld	b,a
	ld	a,-29(ix)
	adc	a,#0x00
	ld	d,a
;	genPointerGet
	ld	l,b
	ld	h,d
	ld	e,(hl)
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,e
	or	a,a
	jp	z,00144$
00347$:
;printf_large.c:516: (value.byte[2] != 0x03 /* SSEG */))
;	genPointerGet
	ld	l,b
	ld	h,d
	ld	e,(hl)
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,e
	cp	a,#0x03
	jp	z,00144$
00348$:
;printf_large.c:518: OUTPUT_2DIGITS( value.byte[1] );
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
	ld	e,-30(ix)
	ld	d,-29(ix)
	inc	de
;	genPointerGet
	ld	a,(de)
	ld	e,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
;	AOP_STK for 
	ld	l,4(ix)
	ld	h,5(ix)
	push	hl
;	genIpush
;	AOP_STK for __print_format_lower_case_1_1
	ld	a,-8(ix)
	push	af
	inc	sp
;	genIpush
	ld	a,e
	push	af
	inc	sp
;	genCall
	call	_output_2digits
	pop	af
	pop	af
	pop	af
	pop	bc
;printf_large.c:519: charsOutputted += 2;
;	genPlus
;	AOP_STK for __print_format_sloc9_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,-47(ix)
	add	a,#0x02
	ld	-47(ix),a
	ld	a,-46(ix)
	adc	a,#0x00
	ld	-46(ix),a
;	genLabel
00144$:
;printf_large.c:521: OUTPUT_2DIGITS( value.byte[0] );
;	genAddrOf
	ld	hl,#0x0028
	add	hl,sp
	ld	e,l
	ld	d,h
;	genPointerGet
	ld	a,(de)
	ld	e,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
;	AOP_STK for 
	ld	l,4(ix)
	ld	h,5(ix)
	push	hl
;	genIpush
;	AOP_STK for __print_format_lower_case_1_1
	ld	a,-8(ix)
	push	af
	inc	sp
;	genIpush
	ld	a,e
	push	af
	inc	sp
;	genCall
	call	_output_2digits
	pop	af
	pop	af
	pop	af
	pop	bc
;printf_large.c:522: charsOutputted += 6;
;	genPlus
;	AOP_STK for __print_format_sloc9_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,-47(ix)
	add	a,#0x06
	ld	-47(ix),a
	ld	a,-46(ix)
	adc	a,#0x00
	ld	-46(ix),a
;printf_large.c:524: break;
;	genGoto
	jp	00153$
;printf_large.c:527: case 'I':
;	genLabel
00147$:
;printf_large.c:528: signed_argument = 1;
;	genAssign
;	AOP_STK for __print_format_signed_argument_1_1
	ld	-5(ix),#0x01
;printf_large.c:529: radix = 10;
;	genAssign
;	AOP_STK for __print_format_radix_1_1
	ld	-15(ix),#0x0A
;printf_large.c:530: break;
;	genGoto
	jp	00153$
;printf_large.c:532: case 'O':
;	genLabel
00148$:
;printf_large.c:533: radix = 8;
;	genAssign
;	AOP_STK for __print_format_radix_1_1
	ld	-15(ix),#0x08
;printf_large.c:534: break;
;	genGoto
	jp	00153$
;printf_large.c:536: case 'U':
;	genLabel
00149$:
;printf_large.c:537: radix = 10;
;	genAssign
;	AOP_STK for __print_format_radix_1_1
	ld	-15(ix),#0x0A
;printf_large.c:538: break;
;	genGoto
	jp	00153$
;printf_large.c:540: case 'X':
;	genLabel
00150$:
;printf_large.c:541: radix = 16;
;	genAssign
;	AOP_STK for __print_format_radix_1_1
	ld	-15(ix),#0x10
;printf_large.c:542: break;
;	genGoto
	jp	00153$
;printf_large.c:544: case 'F':
;	genLabel
00151$:
;printf_large.c:545: float_argument=1;
;	genAssign
;	AOP_STK for __print_format_float_argument_1_1
	ld	-7(ix),#0x01
;printf_large.c:546: break;
;	genGoto
	jp	00153$
;printf_large.c:548: default:
;	genLabel
00152$:
;printf_large.c:550: output_char( c, p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	push	bc
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00349$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00349$:
	pop	af
	inc	sp
	pop	bc
;printf_large.c:551: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc9_1_0
;	genPlusIncr
	inc	-47(ix)
	jp	nz,00350$
	inc	-46(ix)
00350$:
;printf_large.c:553: }
;	genLabel
00153$:
;printf_large.c:555: if (float_argument) {
;	genIfx
;	AOP_STK for __print_format_float_argument_1_1
	xor	a,a
	or	a,-7(ix)
	jp	z,00219$
;printf_large.c:556: value.f=va_arg(ap,float);
;	genAddrOf
;	AOP_STK for __print_format_sloc11_1_0
	ld	hl,#0x0028
	add	hl,sp
	ld	-49(ix),l
	ld	-48(ix),h
;	genPlus
;	AOP_STK for 
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,10(ix)
	add	a,#0x04
	ld	e,a
	ld	a,11(ix)
	adc	a,#0x00
	ld	d,a
;	genAssign
;	AOP_STK for 
	ld	10(ix),e
	ld	11(ix),d
;	genMinus
	ld	a,e
	add	a,#0xFC
	ld	e,a
	ld	a,d
	adc	a,#0xFF
	ld	d,a
;	genPointerGet
	ld	l,e
	ld	h,d
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	inc	hl
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),e
	inc	hl
	ld	(hl),d
	inc	hl
	ld	(hl),c
	inc	hl
	ld	(hl),b
;printf_large.c:558: PTR="<NO FLOAT>";
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),#<__str_1
	inc	hl
	ld	(hl),#>__str_1
;printf_large.c:559: while (c=*PTR++)
;	genAssign
;	AOP_STK for __print_format_sloc9_1_0
;	AOP_STK for __print_format_sloc11_1_0
	ld	a,-47(ix)
	ld	-49(ix),a
	ld	a,-46(ix)
	ld	-48(ix),a
;	genLabel
00154$:
;	genAddrOf
	ld	hl,#0x0028
	add	hl,sp
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
	ld	e,l
	ld	d,h
	ld	a,(hl)
	ld	-44(ix),a
	inc	hl
	ld	a,(hl)
	ld	-43(ix),a
;	genPlus
;	AOP_STK for __print_format_sloc7_1_0
;	genPlusIncr
	ld	c,-44(ix)
	ld	b,-43(ix)
	inc	bc
;	genAssign (pointer)
;	isBitvar = 0
	ld	l,e
	ld	h,d
	ld	(hl),c
	inc	hl
	ld	(hl),b
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
	ld	l,-44(ix)
	ld	h,-43(ix)
	ld	c,(hl)
;	genAssign
	ld	b,c
;	genAssign
;	AOP_STK for __print_format_sloc11_1_0
;	AOP_STK for __print_format_sloc9_1_0
	ld	a,-49(ix)
	ld	-47(ix),a
	ld	a,-48(ix)
	ld	-46(ix),a
;	genIfx
	xor	a,a
	or	a,c
	jp	z,00224$
;printf_large.c:561: output_char (c, p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	push	bc
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00351$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00351$:
	pop	af
	inc	sp
;printf_large.c:562: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc11_1_0
;	genPlusIncr
	inc	-49(ix)
	jp	nz,00352$
	inc	-48(ix)
00352$:
;	genGoto
	jp	00154$
;	genLabel
00219$:
;printf_large.c:574: } else if (radix != 0)
;	genCmpEq
;	AOP_STK for __print_format_radix_1_1
; genCmpEq: left 1, right 1, result 0
	ld	a,-15(ix)
	or	a,a
	jp	z,00224$
00353$:
;printf_large.c:579: unsigned char _AUTOMEM *pstore = &store[5];
;	genAssign
;	AOP_STK for __print_format_sloc6_1_0
;	AOP_STK for __print_format_pstore_4_21
	ld	a,-42(ix)
	ld	-28(ix),a
	ld	a,-41(ix)
	ld	-27(ix),a
;printf_large.c:582: if (char_argument)
;	genIfx
	xor	a,a
	or	a,c
	jp	z,00165$
;printf_large.c:584: value.l = va_arg(ap,char);
;	genAddrOf
;	AOP_STK for __print_format_sloc11_1_0
	ld	hl,#0x0028
	add	hl,sp
	ld	-49(ix),l
	ld	-48(ix),h
;	genPlus
;	AOP_STK for 
;	genPlusIncr
	ld	c,10(ix)
	ld	b,11(ix)
	inc	bc
;	genAssign
;	AOP_STK for 
	ld	10(ix),c
	ld	11(ix),b
;	genMinus
	dec	bc
;	genPointerGet
	ld	a,(bc)
;	genCast
; Removed redundent load
	ld	c,a
	rla	
	sbc	a,a
	ld	b,a
	ld	e,a
	ld	d,a
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),c
	inc	hl
	ld	(hl),b
	inc	hl
	ld	(hl),e
	inc	hl
	ld	(hl),d
;printf_large.c:585: if (!signed_argument)
;	genIfx
;	AOP_STK for __print_format_signed_argument_1_1
	xor	a,a
	or	a,-5(ix)
	jp	nz,00166$
;printf_large.c:587: value.l &= 0xFF;
;	genPointerGet
;	AOP_STK for __print_format_sloc11_1_0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
;	genAnd
	ld	b,#0x00
	ld	de,#0x0000
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),c
	inc	hl
	ld	(hl),b
	inc	hl
	ld	(hl),e
	inc	hl
	ld	(hl),d
;	genGoto
	jp	00166$
;	genLabel
00165$:
;printf_large.c:590: else if (long_argument)
;	genIfx
;	AOP_STK for __print_format_long_argument_1_1
	xor	a,a
	or	a,-6(ix)
	jp	z,00162$
;printf_large.c:592: value.l = va_arg(ap,long);
;	genAddrOf
;	AOP_STK for __print_format_sloc11_1_0
	ld	hl,#0x0028
	add	hl,sp
	ld	-49(ix),l
	ld	-48(ix),h
;	genPlus
;	AOP_STK for 
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,10(ix)
	add	a,#0x04
	ld	e,a
	ld	a,11(ix)
	adc	a,#0x00
	ld	d,a
;	genAssign
;	AOP_STK for 
	ld	10(ix),e
	ld	11(ix),d
;	genMinus
	ld	a,e
	add	a,#0xFC
	ld	e,a
	ld	a,d
	adc	a,#0xFF
	ld	d,a
;	genPointerGet
	ld	l,e
	ld	h,d
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	inc	hl
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),e
	inc	hl
	ld	(hl),d
	inc	hl
	ld	(hl),c
	inc	hl
	ld	(hl),b
;	genGoto
	jp	00166$
;	genLabel
00162$:
;printf_large.c:596: value.l = va_arg(ap,int);
;	genAddrOf
;	AOP_STK for __print_format_sloc11_1_0
	ld	hl,#0x0028
	add	hl,sp
	ld	-49(ix),l
	ld	-48(ix),h
;	genPlus
;	AOP_STK for 
;	genPlusIncr
	ld	e,10(ix)
	ld	d,11(ix)
	inc	de
	inc	de
;	genAssign
;	AOP_STK for 
	ld	10(ix),e
	ld	11(ix),d
;	genMinus
	dec	de
	dec	de
;	genPointerGet
	ld	l,e
	ld	h,d
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
;	genCast
; Removed redundent load
; Removed redundent load
	ld	a,d
	rla	
	sbc	a,a
	ld	c,a
	ld	b,a
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),e
	inc	hl
	ld	(hl),d
	inc	hl
	ld	(hl),c
	inc	hl
	ld	(hl),b
;printf_large.c:597: if (!signed_argument)
;	genIfx
;	AOP_STK for __print_format_signed_argument_1_1
	xor	a,a
	or	a,-5(ix)
	jp	nz,00166$
;printf_large.c:599: value.l &= 0xFFFF;
;	genPointerGet
;	AOP_STK for __print_format_sloc11_1_0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
;	genAnd
	ld	de,#0x0000
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),c
	inc	hl
	ld	(hl),b
	inc	hl
	ld	(hl),e
	inc	hl
	ld	(hl),d
;	genLabel
00166$:
;printf_large.c:603: if ( signed_argument )
;	genIfx
;	AOP_STK for __print_format_signed_argument_1_1
	xor	a,a
	or	a,-5(ix)
	jp	z,00171$
;printf_large.c:605: if (value.l < 0)
;	genAddrOf
;	AOP_STK for __print_format_sloc11_1_0
	ld	hl,#0x0028
	add	hl,sp
;	genPointerGet
;	AOP_STK for __print_format_sloc11_1_0
	ld	-49(ix),l
	ld	-48(ix),h
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
;	genCmpLt
	ld	a,d
	bit	7,a
	jp	z,00168$
;printf_large.c:606: value.l = -value.l;
;	genUminus
	xor     a,a
	sbc	a,c
	ld	e,a
	ld	a,#0x00
	sbc	a,b
	ld	d,a
	ld	a,#0x00
	sbc	a,e
	ld	c,a
	ld	a,#0x00
	sbc	a,d
	ld	b,a
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),e
	inc	hl
	ld	(hl),d
	inc	hl
	ld	(hl),c
	inc	hl
	ld	(hl),b
;	genGoto
	jp	00171$
;	genLabel
00168$:
;printf_large.c:608: signed_argument = 0;
;	genAssign
;	AOP_STK for __print_format_signed_argument_1_1
	ld	-5(ix),#0x00
;	genLabel
00171$:
;printf_large.c:612: lsd = 1;
;	genAssign
;	AOP_STK for __print_format_lsd_1_1
	ld	-14(ix),#0x01
;printf_large.c:614: do {
;	genAssign
;	AOP_STK for __print_format_pstore_4_21
;	AOP_STK for __print_format_sloc11_1_0
	ld	a,-28(ix)
	ld	-49(ix),a
	ld	a,-27(ix)
	ld	-48(ix),a
;	genAssign
;	AOP_STK for __print_format_length_1_1
	ld	-20(ix),#0x00
;	genLabel
00175$:
;printf_large.c:615: value.byte[4] = 0;
;	genAddrOf
	ld	hl,#0x0028
	add	hl,sp
	ld	e,l
	ld	d,h
;	genPlus
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,e
	add	a,#0x04
	ld	c,a
	ld	a,d
	adc	a,#0x00
	ld	b,a
;	genAssign (pointer)
;	isBitvar = 0
	ld	a,#0x00
	ld	(bc),a
;printf_large.c:617: calculate_digit(&value, radix);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for __print_format_radix_1_1
	ld	a,-15(ix)
	push	af
	inc	sp
;	genIpush
	push	de
;	genCall
	call	_calculate_digit
	pop	af
	inc	sp
;printf_large.c:621: if (!lsd)
;	genIfx
;	AOP_STK for __print_format_lsd_1_1
	xor	a,a
	or	a,-14(ix)
	jp	nz,00173$
;printf_large.c:623: *pstore = (value.byte[4] << 4) | (value.byte[4] >> 4) | *pstore;
;	genPlus
;	AOP_STK for __print_format_sloc2_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,-34(ix)
	add	a,#0x04
	ld	b,a
	ld	a,-33(ix)
	adc	a,#0x00
	ld	e,a
;	genPointerGet
	ld	l,b
	ld	h,e
	ld	c,(hl)
;	genLeftShift
	ld	a,c
	rlca
	rlca
	rlca
	rlca
	and	a,#0xF0
	ld	c,a
;	genPointerGet
	ld	l,b
	ld	h,e
	ld	b,(hl)
;	genRightShift
; Removed redundent load
	srl	b
	srl	b
	srl	b
	srl	b
;	genOr
	ld	a,c
	or	a,b
	ld	c,a
;	genPointerGet
;	AOP_STK for __print_format_sloc11_1_0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	b,(hl)
;	genOr
	ld	a,c
	or	a,b
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),a
;printf_large.c:624: pstore--;
;	genMinus
;	AOP_STK for __print_format_sloc11_1_0
	ld	l,-49(ix)
	ld	h,-48(ix)
	dec	hl
	ld	-49(ix),l
	ld	-48(ix),h
;	genGoto
	jp	00174$
;	genLabel
00173$:
;printf_large.c:628: *pstore = value.byte[4];
;	genPlus
;	AOP_STK for __print_format_sloc1_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,-32(ix)
	add	a,#0x04
	ld	c,a
	ld	a,-31(ix)
	adc	a,#0x00
	ld	b,a
;	genPointerGet
	ld	a,(bc)
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc11_1_0
;	isBitvar = 0
	ld	l,-49(ix)
	ld	h,-48(ix)
	ld	(hl),a
;	genLabel
00174$:
;printf_large.c:630: length++;
;	genPlus
;	AOP_STK for __print_format_length_1_1
;	genPlusIncr
	inc	-20(ix)
;	genAssign
;	AOP_STK for __print_format_length_1_1
;	AOP_STK for __print_format_sloc8_1_0
	ld	a,-20(ix)
	ld	-45(ix),a
;printf_large.c:631: lsd = !lsd;
;	genNot
;	AOP_STK for __print_format_lsd_1_1
	xor	a,a
	or	a,-14(ix)
	sub	a,#0x01
	ld	a,#0x00
	rla
	ld	-14(ix),a
;printf_large.c:632: } while( value.ul );
;	genPointerGet
;	AOP_STK for __print_format_sloc3_1_0
	ld	l,-36(ix)
	ld	h,-35(ix)
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
;	genAssign
;	AOP_STK for __print_format_sloc11_1_0
;	AOP_STK for __print_format_pstore_4_21
	ld	a,-49(ix)
	ld	-28(ix),a
	ld	a,-48(ix)
	ld	-27(ix),a
;	genIfx
	ld	a,c
	or	a,b
	or	a,e
	or	a,d
	jp	nz,00175$
;printf_large.c:634: if (width == 0)
;	genCmpEq
;	AOP_STK for __print_format_width_1_1
; genCmpEq: left 1, right 1, result 0
	ld	a,-18(ix)
	or	a,a
	jp	z,00355$
00354$:
	jp	00179$
00355$:
;printf_large.c:639: width=1;
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	-18(ix),#0x01
;	genLabel
00179$:
;printf_large.c:643: if (!zero_padding && !left_justify)
;	genIfx
;	AOP_STK for __print_format_zero_padding_1_1
	xor	a,a
	or	a,-2(ix)
	jp	nz,00184$
;	genIfx
;	AOP_STK for __print_format_left_justify_1_1
	xor	a,a
	or	a,-1(ix)
	jp	nz,00184$
;printf_large.c:645: while ( width > (unsigned char) (length+1) )
;	genPlus
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_sloc12_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,-45(ix)
	add	a,#0x01
	ld	-53(ix),a
;	genAssign
;	AOP_STK for __print_format_sloc9_1_0
	ld	e,-47(ix)
	ld	d,-46(ix)
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	b,-18(ix)
;	genLabel
00180$:
;	genCmpGt
;	AOP_STK for __print_format_sloc12_1_0
	ld	a,-53(ix)
	sub	a,b
	ld	a,#0x00
	rla
	ld	c,a
;	genAssign
;	AOP_STK for __print_format_sloc9_1_0
	ld	-47(ix),e
	ld	-46(ix),d
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	-18(ix),b
;	genIfx
	xor	a,a
	or	a,c
	jp	z,00184$
;printf_large.c:647: output_char( ' ', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 1 bcInUse: 1 deSending: 0
	push	bc
	push	de
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,#0x20
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00356$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00356$:
	pop	af
	inc	sp
	pop	de
	pop	bc
;printf_large.c:648: charsOutputted++;
;	genPlus
;	genPlusIncr
	inc	de
;printf_large.c:649: width--;
;	genMinus
	dec	b
;	genGoto
	jp	00180$
;	genLabel
00184$:
;printf_large.c:653: if (signed_argument) // this now means the original value was negative
;	genIfx
;	AOP_STK for __print_format_signed_argument_1_1
	xor	a,a
	or	a,-5(ix)
	jp	z,00194$
;printf_large.c:655: output_char( '-', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,#0x2D
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00357$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00357$:
	pop	af
	inc	sp
;printf_large.c:656: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc9_1_0
;	genPlusIncr
	inc	-47(ix)
	jp	nz,00358$
	inc	-46(ix)
00358$:
;printf_large.c:658: width--;
;	genMinus
;	AOP_STK for __print_format_width_1_1
	dec	-18(ix)
;	genGoto
	jp	00195$
;	genLabel
00194$:
;printf_large.c:660: else if (length != 0)
;	genCmpEq
;	AOP_STK for __print_format_sloc8_1_0
; genCmpEq: left 1, right 1, result 0
	ld	a,-45(ix)
	or	a,a
	jp	z,00195$
00359$:
;printf_large.c:663: if (prefix_sign)
;	genIfx
;	AOP_STK for __print_format_prefix_sign_1_1
	xor	a,a
	or	a,-3(ix)
	jp	z,00189$
;printf_large.c:665: output_char( '+', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,#0x2B
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00360$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00360$:
	pop	af
	inc	sp
;printf_large.c:666: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc9_1_0
;	genPlusIncr
	inc	-47(ix)
	jp	nz,00361$
	inc	-46(ix)
00361$:
;printf_large.c:668: width--;
;	genMinus
;	AOP_STK for __print_format_width_1_1
	dec	-18(ix)
;	genGoto
	jp	00195$
;	genLabel
00189$:
;printf_large.c:670: else if (prefix_space)
;	genIfx
;	AOP_STK for __print_format_prefix_space_1_1
	xor	a,a
	or	a,-4(ix)
	jp	z,00195$
;printf_large.c:672: output_char( ' ', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,#0x20
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00362$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00362$:
	pop	af
	inc	sp
;printf_large.c:673: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc9_1_0
;	genPlusIncr
	inc	-47(ix)
	jp	nz,00363$
	inc	-46(ix)
00363$:
;printf_large.c:675: width--;
;	genMinus
;	AOP_STK for __print_format_width_1_1
	dec	-18(ix)
;	genLabel
00195$:
;printf_large.c:680: if (!left_justify)
;	genIfx
;	AOP_STK for __print_format_left_justify_1_1
	xor	a,a
	or	a,-1(ix)
	jp	nz,00203$
;printf_large.c:681: while ( width-- > length )
;	genAssign
;	AOP_STK for __print_format_sloc9_1_0
	ld	c,-47(ix)
	ld	b,-46(ix)
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	e,-18(ix)
;	genLabel
00196$:
;	genAssign
	ld	d,e
;	genMinus
	dec	e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	-18(ix),e
;	genCmpGt
;	AOP_STK for __print_format_sloc8_1_0
	ld	a,-45(ix)
	sub	a,d
	ld	a,#0x00
	rla
	ld	d,a
;	genAssign
;	AOP_STK for __print_format_sloc9_1_0
	ld	-47(ix),c
	ld	-46(ix),b
;	genIfx
	xor	a,a
	or	a,d
	jp	z,00299$
;printf_large.c:683: output_char( zero_padding ? '0' : ' ', p );
;	genIfx
;	AOP_STK for __print_format_zero_padding_1_1
	xor	a,a
	or	a,-2(ix)
	jp	z,00231$
;	genAssign
	ld	d,#0x30
;	genGoto
	jp	00232$
;	genLabel
00231$:
;	genAssign
	ld	d,#0x20
;	genLabel
00232$:
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 1 bcInUse: 1 deSending: 0
	push	bc
	push	de
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	push	de
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00364$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00364$:
	pop	af
	inc	sp
	pop	de
	pop	bc
;printf_large.c:684: charsOutputted++;
;	genPlus
;	genPlusIncr
	inc	bc
;	genGoto
	jp	00196$
;	genLabel
00203$:
;printf_large.c:689: if (width > length)
;	genCmpGt
;	AOP_STK for __print_format_width_1_1
;	AOP_STK for __print_format_sloc8_1_0
	ld	a,-45(ix)
	sub	a,-18(ix)
	jp	nc,00200$
;printf_large.c:690: width -= length;
;	genMinus
;	AOP_STK for __print_format_width_1_1
;	AOP_STK for __print_format_sloc8_1_0
	ld	a,-18(ix)
	sub	a,-45(ix)
	ld	-18(ix),a
;	genGoto
	jp	00299$
;	genLabel
00200$:
;printf_large.c:692: width = 0;
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	-18(ix),#0x00
;printf_large.c:696: while( length-- )
;	genLabel
00299$:
;	genAssign
;	AOP_STK for __print_format_pstore_4_21
	ld	c,-28(ix)
	ld	b,-27(ix)
;	genAssign
;	AOP_STK for __print_format_sloc9_1_0
;	AOP_STK for __print_format_sloc11_1_0
	ld	a,-47(ix)
	ld	-49(ix),a
	ld	a,-46(ix)
	ld	-48(ix),a
;	genAssign
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_sloc12_1_0
	ld	a,-45(ix)
	ld	-53(ix),a
;	genLabel
00208$:
;	genAssign
;	AOP_STK for __print_format_sloc12_1_0
	ld	e,-53(ix)
;	genMinus
;	AOP_STK for __print_format_sloc12_1_0
	dec	-53(ix)
;	genAssign
;	AOP_STK for __print_format_sloc11_1_0
;	AOP_STK for __print_format_sloc9_1_0
	ld	a,-49(ix)
	ld	-47(ix),a
	ld	a,-48(ix)
	ld	-46(ix),a
;	genIfx
	xor	a,a
	or	a,e
	jp	z,00210$
;printf_large.c:698: lsd = !lsd;
;	genNot
;	AOP_STK for __print_format_lsd_1_1
	xor	a,a
	or	a,-14(ix)
	sub	a,#0x01
	ld	a,#0x00
	rla
	ld	-14(ix),a
;printf_large.c:699: if (!lsd)
;	genIfx
;	AOP_STK for __print_format_lsd_1_1
	xor	a,a
	or	a,-14(ix)
	jp	nz,00206$
;printf_large.c:701: pstore++;
;	genPlus
;	genPlusIncr
	inc	bc
;printf_large.c:702: value.byte[4] = *pstore >> 4;
;	genPlus
;	AOP_STK for __print_format_sloc5_1_0
;	AOP_STK for __print_format_sloc7_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,-40(ix)
	add	a,#0x04
	ld	-44(ix),a
	ld	a,-39(ix)
	adc	a,#0x00
	ld	-43(ix),a
;	genPointerGet
	ld	a,(bc)
	ld	e,a
;	genRightShift
; Removed redundent load
	srl	e
	srl	e
	srl	e
	srl	e
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc7_1_0
;	isBitvar = 0
	ld	l,-44(ix)
	ld	h,-43(ix)
	ld	(hl),e
;	genGoto
	jp	00207$
;	genLabel
00206$:
;printf_large.c:706: value.byte[4] = *pstore & 0x0F;
;	genPlus
;	AOP_STK for __print_format_sloc4_1_0
;	AOP_STK for __print_format_sloc7_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,-38(ix)
	add	a,#0x04
	ld	-44(ix),a
	ld	a,-37(ix)
	adc	a,#0x00
	ld	-43(ix),a
;	genPointerGet
	ld	a,(bc)
;	genAnd
	ld	e,a
	and	a,#0x0F
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc7_1_0
;	isBitvar = 0
	ld	l,-44(ix)
	ld	h,-43(ix)
	ld	(hl),a
;	genLabel
00207$:
;printf_large.c:709: output_digit( value.byte[4], lower_case, output_char, p );
;	genAddrOf
	ld	hl,#0x0028
	add	hl,sp
	ld	e,l
	ld	d,h
;	genPlus
;	genPlusIncr
	inc	de
	inc	de
	inc	de
	inc	de
;	genPointerGet
	ld	a,(de)
	ld	e,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
;	AOP_STK for 
	ld	l,4(ix)
	ld	h,5(ix)
	push	hl
;	genIpush
;	AOP_STK for __print_format_lower_case_1_1
	ld	a,-8(ix)
	push	af
	inc	sp
;	genIpush
	ld	a,e
	push	af
	inc	sp
;	genCall
	call	_output_digit
	pop	af
	pop	af
	pop	af
	pop	bc
;printf_large.c:713: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc11_1_0
;	genPlusIncr
	inc	-49(ix)
	jp	nz,00365$
	inc	-48(ix)
00365$:
;	genGoto
	jp	00208$
;	genLabel
00210$:
;printf_large.c:715: if (left_justify)
;	genIfx
;	AOP_STK for __print_format_left_justify_1_1
	xor	a,a
	or	a,-1(ix)
	jp	z,00224$
;printf_large.c:716: while (width-- > 0)
;	genAssign
;	AOP_STK for __print_format_sloc11_1_0
	ld	c,-49(ix)
	ld	b,-48(ix)
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	e,-18(ix)
;	genLabel
00211$:
;	genAssign
	ld	d,e
;	genMinus
	dec	e
;	genCmpGt
	ld	a,#0x00
	sub	a,d
	ld	a,#0x00
	rla
	ld	d,a
;	genAssign
;	AOP_STK for __print_format_sloc9_1_0
	ld	-47(ix),c
	ld	-46(ix),b
;	genIfx
	xor	a,a
	or	a,d
	jp	z,00224$
;printf_large.c:718: output_char(' ', p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 1 bcInUse: 1 deSending: 0
	push	bc
	push	de
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	ld	a,#0x20
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00366$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00366$:
	pop	af
	inc	sp
	pop	de
	pop	bc
;printf_large.c:719: charsOutputted++;
;	genPlus
;	genPlusIncr
	inc	bc
;	genGoto
	jp	00211$
;	genLabel
00222$:
;printf_large.c:726: output_char( c, p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	ld	l,6(ix)
	ld	h,7(ix)
	push	hl
;	genIpush
	push	bc
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00367$
	push	hl
	ld	l,4(ix)
	ld	h,5(ix)
	jp	(hl)
00367$:
	pop	af
	inc	sp
;printf_large.c:727: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc9_1_0
;	genPlusIncr
	inc	-47(ix)
	jp	nz,00368$
	inc	-46(ix)
00368$:
;	genGoto
	jp	00224$
;	genLabel
00226$:
;printf_large.c:731: return charsOutputted;
;	genRet
;	AOP_STK for __print_format_sloc9_1_0
; Dump of IC_LEFT: type AOP_STK size 2
;	 aop_stk -47
	ld	l,-47(ix)
	ld	h,-46(ix)
;	genLabel
00227$:
;	genEndFunction
	ld	sp,ix
	pop	ix
	ret
__print_format_end::
__str_1:
	.ascii "<NO FLOAT>"
	.db 0x00
	.area _CODE
