;--------------------------------------------------------
; File Created by SDCC : FreeWare ANSI-C Compiler
; Version 2.6.0 #4309 (Mar 10 2007)
; This file generated Sat Mar 10 18:40:29 2007
;--------------------------------------------------------
	.module printf_large
	.optsdcc -mgbz80
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl __print_format
;--------------------------------------------------------
;  ram data
;--------------------------------------------------------
	.area _DATA
;--------------------------------------------------------
; overlayable items in  ram 
;--------------------------------------------------------
	.area _OVERLAY
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area _HOME
	.area _GSINIT
	.area _GSFINAL
	.area _GSINIT
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area _HOME
	.area _CODE
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area _CODE
;printf_large.c:98: static void output_digit( unsigned char n, BOOL lower_case, pfn_outputchar output_char, void* p )
;	genLabel
;	genFunction
;	---------------------------------
; Function output_digit
; ---------------------------------
_output_digit:
	
;printf_large.c:100: register unsigned char c = n + (unsigned char)'0';
;	genPlus
;	AOP_STK for 
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	lda	hl,2(sp)
	ld	a,(hl)
	add	a,#0x30
	ld	c,a
;printf_large.c:102: if (c > (unsigned char)'9')
;	genCmpGt
	ld	a,#0x39
	sub	a,c
	jp	nc,00104$
;printf_large.c:104: c += (unsigned char)('A' - '0' - 10);
;	genPlus
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,c
	add	a,#0x07
	ld	c,a
;printf_large.c:105: if (lower_case)
;	genIfx
;	AOP_STK for 
	xor	a,a
	inc	hl
	or	a,(hl)
	jp	z,00104$
;printf_large.c:106: c += (unsigned char)('a' - 'A');
;	genPlus
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,c
	add	a,#0x20
	ld	c,a
;	genLabel
00104$:
;printf_large.c:108: output_char( c, p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,6(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,c
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00109$
	push	hl
	lda	hl,9(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00109$:
	lda	sp,3(sp)
;	genLabel
00105$:
;	genEndFunction
	
	ret
;printf_large.c:129: static void output_2digits( unsigned char b, BOOL lower_case, pfn_outputchar output_char, void* p )
;	genLabel
;	genFunction
;	---------------------------------
; Function output_2digits
; ---------------------------------
_output_2digits:
	
;printf_large.c:131: output_digit( b>>4,   lower_case, output_char, p );
;	genRightShift
;	AOP_STK for 
	lda	hl,2(sp)
	ld	c,(hl)
	srl	c
	srl	c
	srl	c
	srl	c
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,6(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for 
	lda	hl,6(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for 
	lda	hl,7(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genIpush
	ld	a,c
	push	af
	inc	sp
;	genCall
	call	_output_digit
	lda	sp,6(sp)
;printf_large.c:132: output_digit( b&0x0F, lower_case, output_char, p );
;	genAnd
;	AOP_STK for 
	lda	hl,2(sp)
	ld	a,(hl)
	and	a,#0x0F
	ld	c,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,6(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for 
	lda	hl,6(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for 
	lda	hl,7(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genIpush
	ld	a,c
	push	af
	inc	sp
;	genCall
	call	_output_digit
	lda	sp,6(sp)
;	genLabel
00101$:
;	genEndFunction
	
	ret
;printf_large.c:146: static void calculate_digit( value_t _AUTOMEM * value, unsigned char radix )
;	genLabel
;	genFunction
;	---------------------------------
; Function calculate_digit
; ---------------------------------
_calculate_digit:
	lda	sp,-13(sp)
;printf_large.c:148: unsigned long ul = value->ul;
;	genAssign
;	AOP_STK for 
;	AOP_STK for _calculate_digit_sloc0_1_0
	lda	hl,15(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,4(sp)
	ld	(hl+),a
	ld	(hl),e
;	genPointerGet
;	AOP_STK for _calculate_digit_sloc0_1_0
;	AOP_STK for _calculate_digit_ul_1_1
	dec	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	lda	hl,9(sp)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl),a
;	genAssign
;	AOP_STK for _calculate_digit_ul_1_1
;	(registers are the same)
;printf_large.c:149: unsigned char _AUTOMEM * pb4 = &value->byte[4];
;	genPlus
;	AOP_STK for _calculate_digit_sloc0_1_0
;	AOP_STK for _calculate_digit_pb4_1_1
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	lda	hl,4(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	hl,#0x0004
	add	hl,de
	ld	a,l
	ld	d,h
	lda	hl,7(sp)
	ld	(hl+),a
	ld	(hl),d
;printf_large.c:152: do
;	genAssign
;	AOP_STK for _calculate_digit_i_1_1
	dec	hl
	dec	hl
	ld	(hl),#0x20
;	genLabel
00103$:
;printf_large.c:154: *pb4 = (*pb4 << 1) | ((ul >> 31) & 0x01);
;	genPointerGet
;	AOP_STK for _calculate_digit_pb4_1_1
	lda	hl,7(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
;	genLeftShift
	ld	c,a
	add	a,a
	ld	c,a
;	genGetHBIT
;	AOP_STK for _calculate_digit_ul_1_1
	lda	hl,12(sp)
	ld	a,(hl)
	rlc	a
	and	a,#0x01
	ld	b,a
;	genOr
	ld	a,c
	or	a,b
;	genAssign (pointer)
;	AOP_STK for _calculate_digit_pb4_1_1
;	isBitvar = 0
	lda	hl,7(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	(de),a
;printf_large.c:155: 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_ul_1_1
	lda	hl,12(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
	lda	hl,12(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genCall
	call	__rlulong_rrx_s
;	AOP_STK for _calculate_digit_sloc1_1_0
	push	hl
	lda	hl,7(sp)
	ld	(hl),e
	inc	hl
	ld	(hl),d
	pop	de
	inc	hl
	ld	(hl),e
	inc	hl
	ld	(hl),d
	lda	sp,5(sp)
;	genAssign
;	AOP_STK for _calculate_digit_sloc1_1_0
;	AOP_STK for _calculate_digit_ul_1_1
	lda	hl,0(sp)
	ld	d,h
	ld	e,l
	lda	hl,9(sp)
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl),a
;printf_large.c:157: if (radix <= *pb4 )
;	genPointerGet
;	AOP_STK for _calculate_digit_pb4_1_1
	lda	hl,7(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
;	genCmpGt
;	AOP_STK for 
	ld	c,a
	lda	hl,17(sp)
	sub	a,(hl)
	jp	c,00104$
;printf_large.c:159: *pb4 -= radix;
;	genPointerGet
;	AOP_STK for _calculate_digit_pb4_1_1
	lda	hl,7(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
;	genMinus
;	AOP_STK for 
	ld	c,a
	lda	hl,17(sp)
	sub	a,(hl)
;	genAssign (pointer)
;	AOP_STK for _calculate_digit_pb4_1_1
;	isBitvar = 0
	lda	hl,7(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	(de),a
;printf_large.c:160: ul |= 1;
;	genOr
;	AOP_STK for _calculate_digit_ul_1_1
	inc	hl
	ld	a,(hl)
	or	a,#0x01
	ld	(hl),a
;	genLabel
00104$:
;printf_large.c:162: } while (--i);
;	genMinus
;	AOP_STK for _calculate_digit_i_1_1
	lda	hl,6(sp)
	dec	(hl)
;	genIfx
;	AOP_STK for _calculate_digit_i_1_1
	xor	a,a
	or	a,(hl)
	jp	nz,00103$
;printf_large.c:163: value->ul = ul;
;	genAssign (pointer)
;	AOP_STK for _calculate_digit_sloc0_1_0
;	AOP_STK for _calculate_digit_ul_1_1
;	isBitvar = 0
	dec	hl
	dec	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	lda	hl,9(sp)
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
;	genLabel
00106$:
;	genEndFunction
	lda	sp,13(sp)
	ret
;printf_large.c:385: int _print_format (pfn_outputchar pfn, void* pvoid, const char *format, va_list ap)
;	genLabel
;	genFunction
;	---------------------------------
; Function _print_format
; ---------------------------------
__print_format_start::
__print_format:
	lda	sp,-50(sp)
;printf_large.c:417: charsOutputted = 0;
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,18(sp)
	ld	(hl),#0x00
	inc	hl
	ld	(hl),#0x00
;printf_large.c:425: while( c=*format++ )
;	genAddrOf
	lda	hl,22(sp)
	ld	c,l
	ld	b,h
;	genPlus
;	AOP_STK for __print_format_sloc1_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	hl,#0x0005
	add	hl,bc
	ld	a,l
	ld	d,h
	lda	hl,16(sp)
	ld	(hl+),a
	ld	(hl),d
;	genLabel
00222$:
;	genAssign
;	AOP_STK for 
;	AOP_STK for __print_format_sloc2_1_0
	lda	hl,56(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,14(sp)
	ld	(hl+),a
	ld	(hl),e
;	genPointerGet
;	AOP_STK for __print_format_sloc2_1_0
	dec	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	ld	c,a
;	genPlus
;	AOP_STK for __print_format_sloc2_1_0
;	AOP_STK for 
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	dec	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	hl,#0x0001
	add	hl,de
	ld	a,l
	ld	d,h
	lda	hl,56(sp)
	ld	(hl+),a
	ld	(hl),d
;	genAssign
;	AOP_STK for __print_format_c_1_1
	lda	hl,28(sp)
	ld	(hl),c
;	genIfx
	xor	a,a
	or	a,c
	jp	z,00224$
;printf_large.c:427: if ( c=='%' )
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	ld	a,(hl)
	cp	a,#0x25
	jp	nz,00220$
	jr	00304$
00303$:
	jp	00220$
00304$:
;printf_large.c:429: left_justify    = 0;
;	genAssign
;	AOP_STK for __print_format_left_justify_1_1
	lda	hl,49(sp)
	ld	(hl),#0x00
;printf_large.c:430: zero_padding    = 0;
;	genAssign
;	AOP_STK for __print_format_zero_padding_1_1
	dec	hl
	ld	(hl),#0x00
;printf_large.c:431: prefix_sign     = 0;
;	genAssign
;	AOP_STK for __print_format_prefix_sign_1_1
	dec	hl
	ld	(hl),#0x00
;printf_large.c:432: prefix_space    = 0;
;	genAssign
;	AOP_STK for __print_format_prefix_space_1_1
	dec	hl
	ld	(hl),#0x00
;printf_large.c:433: signed_argument = 0;
;	genAssign
;	AOP_STK for __print_format_signed_argument_1_1
	dec	hl
	ld	(hl),#0x00
;printf_large.c:434: char_argument   = 0;
;	genAssign
;	AOP_STK for __print_format_char_argument_1_1
	dec	hl
	ld	(hl),#0x00
;printf_large.c:435: long_argument   = 0;
;	genAssign
;	AOP_STK for __print_format_long_argument_1_1
	dec	hl
	ld	(hl),#0x00
;printf_large.c:436: float_argument  = 0;
;	genAssign
;	AOP_STK for __print_format_float_argument_1_1
	dec	hl
	ld	(hl),#0x00
;printf_large.c:437: radix           = 0;
;	genAssign
;	AOP_STK for __print_format_radix_1_1
	lda	hl,32(sp)
	ld	(hl),#0x00
;printf_large.c:438: width           = 0;
;	genAssign
;	AOP_STK for __print_format_width_1_1
	dec	hl
	ld	(hl),#0x00
;printf_large.c:439: decimals        = -1;
;	genAssign
;	AOP_STK for __print_format_decimals_1_1
	dec	hl
	ld	(hl),#0xFF
;printf_large.c:441: get_conversion_spec:
;	genAssign
;	AOP_STK for 
;	AOP_STK for __print_format_sloc2_1_0
	lda	hl,56(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,14(sp)
	ld	(hl+),a
	ld	(hl),e
;	genLabel
00101$:
;printf_large.c:443: c = *format++;
;	genPointerGet
;	AOP_STK for __print_format_sloc2_1_0
	lda	hl,14(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	ld	c,a
;	genPlus
;	AOP_STK for __print_format_sloc2_1_0
;	genPlusIncr
	dec	hl
	inc	(hl)
	jr	nz,00305$
	inc	hl
	inc	(hl)
00305$:
;	genAssign
;	AOP_STK for __print_format_sloc2_1_0
;	AOP_STK for 
	lda	hl,14(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,56(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_c_1_1
	lda	hl,28(sp)
	ld	(hl),c
;printf_large.c:445: if (c=='%') {
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	ld	a,(hl)
	cp	a,#0x25
	jp	nz,00103$
	jr	00307$
00306$:
	jp	00103$
00307$:
;printf_large.c:446: OUTPUT_CHAR(c, p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for __print_format_c_1_1
	lda	hl,30(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00308$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00308$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
	lda	hl,18(sp)
	inc	(hl)
	jr	nz,00309$
	inc	hl
	inc	(hl)
00309$:
;printf_large.c:447: continue;
;	genGoto
	jp	00222$
;	genLabel
00103$:
;printf_large.c:450: if (isdigit(c)) {
;	genAssign
;	AOP_STK for __print_format_c_1_1
	lda	hl,28(sp)
	ld	c,(hl)
;	genCmpLt
	ld	a,c
	sub	a,#0x30
	jp	c,00110$
;	genAssign
;	AOP_STK for __print_format_c_1_1
	ld	c,(hl)
;	genCmpGt
	ld	a,#0x39
	sub	a,c
	jp	c,00110$
;printf_large.c:451: if (decimals==-1) {
;	genCmpEq
;	AOP_STK for __print_format_decimals_1_1
; genCmpEq: left 1, right 1, result 0
	inc	hl
	inc	hl
	ld	a,(hl)
	cp	a,#0xFF
	jp	nz,00107$
	jr	00311$
00310$:
	jp	00107$
00311$:
;printf_large.c:452: width = 10*width + (c - '0');
;	genMult
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	e,(hl)
	ld	d,#0x00
	ld	l,e
	add	hl,hl
	add	hl,hl
	add	hl,de
	add	hl,hl
	ld	c,l
;	genMinus
;	AOP_STK for __print_format_c_1_1
	lda	hl,28(sp)
	ld	a,(hl)
	add	a,#0xD0
	ld	b,a
;	genPlus
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,c
	add	a,b
	ld	c,a
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	(hl),c
;printf_large.c:453: if (width == 0) {
;	genIfx
;	AOP_STK for __print_format_width_1_1
	xor	a,a
	or	a,(hl)
	jp	nz,00101$
;printf_large.c:455: zero_padding = 1;
;	genAssign
;	AOP_STK for __print_format_zero_padding_1_1
	lda	hl,48(sp)
	ld	(hl),#0x01
;	genGoto
	jp	00101$
;	genLabel
00107$:
;printf_large.c:458: decimals = 10*decimals + (c-'0');
;	genMult
;	AOP_STK for __print_format_decimals_1_1
	lda	hl,30(sp)
	ld	e,(hl)
	ld	l,e
	add	hl,hl
	add	hl,hl
	add	hl,de
	add	hl,hl
	ld	c,l
;	genMinus
;	AOP_STK for __print_format_c_1_1
	lda	hl,28(sp)
	ld	a,(hl)
	add	a,#0xD0
	ld	b,a
;	genPlus
;	Can't optimise plus by inc, falling back to the normal way
	ld	a,c
	add	a,b
	ld	c,a
;	genAssign
;	AOP_STK for __print_format_decimals_1_1
	inc	hl
	inc	hl
	ld	(hl),c
;printf_large.c:460: goto get_conversion_spec;
;	genGoto
	jp	00101$
;	genLabel
00110$:
;printf_large.c:463: if (c=='.') {
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x2E
	jp	nz,00115$
	jr	00313$
00312$:
	jp	00115$
00313$:
;printf_large.c:464: if (decimals=-1) decimals=0;
;	genAssign
;	AOP_STK for __print_format_decimals_1_1
	lda	hl,30(sp)
	ld	(hl),#0x00
;printf_large.c:467: goto get_conversion_spec;
;	genGoto
	jp	00101$
;	genLabel
00115$:
;printf_large.c:470: lower_case = islower(c);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for __print_format_c_1_1
	lda	hl,28(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genCall
	call	_islower
	ld	c,e
	lda	sp,1(sp)
;	genAssign
;	AOP_STK for __print_format_lower_case_1_1
	lda	hl,41(sp)
	ld	(hl),c
;printf_large.c:471: if (lower_case)
;	genIfx
;	AOP_STK for __print_format_lower_case_1_1
	xor	a,a
	or	a,(hl)
	jp	z,00117$
;printf_large.c:473: c = toupper(c);
;	genAnd
;	AOP_STK for __print_format_c_1_1
	lda	hl,28(sp)
	ld	a,(hl)
	and	a,#0xDF
	ld	(hl),a
;	genLabel
00117$:
;printf_large.c:476: switch( c )
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x20
	jp	z,00120$
00314$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x2B
	jp	z,00119$
00315$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x2D
	jp	z,00118$
00316$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x42
	jp	z,00121$
00317$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x43
	jp	z,00123$
00318$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x44
	jp	z,00145$
00319$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x46
	jp	z,00149$
00320$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x49
	jp	z,00145$
00321$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x4C
	jp	z,00122$
00322$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x4F
	jp	z,00146$
00323$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x50
	jp	z,00143$
00324$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x53
	jp	z,00124$
00325$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x55
	jp	z,00147$
00326$:
;	genCmpEq
;	AOP_STK for __print_format_c_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,28(sp)
	ld	a,(hl)
	cp	a,#0x58
	jp	z,00148$
00327$:
;	genGoto
	jp	00150$
;printf_large.c:478: case '-':
;	genLabel
00118$:
;printf_large.c:479: left_justify = 1;
;	genAssign
;	AOP_STK for __print_format_left_justify_1_1
	lda	hl,49(sp)
	ld	(hl),#0x01
;printf_large.c:480: goto get_conversion_spec;
;	genGoto
	jp	00101$
;printf_large.c:481: case '+':
;	genLabel
00119$:
;printf_large.c:482: prefix_sign = 1;
;	genAssign
;	AOP_STK for __print_format_prefix_sign_1_1
	lda	hl,47(sp)
	ld	(hl),#0x01
;printf_large.c:483: goto get_conversion_spec;
;	genGoto
	jp	00101$
;printf_large.c:484: case ' ':
;	genLabel
00120$:
;printf_large.c:485: prefix_space = 1;
;	genAssign
;	AOP_STK for __print_format_prefix_space_1_1
	lda	hl,46(sp)
	ld	(hl),#0x01
;printf_large.c:486: goto get_conversion_spec;
;	genGoto
	jp	00101$
;printf_large.c:487: case 'B':
;	genLabel
00121$:
;printf_large.c:488: char_argument = 1;
;	genAssign
;	AOP_STK for __print_format_char_argument_1_1
	lda	hl,44(sp)
	ld	(hl),#0x01
;printf_large.c:489: goto get_conversion_spec;
;	genGoto
	jp	00101$
;printf_large.c:490: case 'L':
;	genLabel
00122$:
;printf_large.c:491: long_argument = 1;
;	genAssign
;	AOP_STK for __print_format_long_argument_1_1
	lda	hl,43(sp)
	ld	(hl),#0x01
;printf_large.c:492: goto get_conversion_spec;
;	genGoto
	jp	00101$
;printf_large.c:494: case 'C':
;	genLabel
00123$:
;printf_large.c:495: OUTPUT_CHAR( va_arg(ap,int), p );
;	genPlus
;	AOP_STK for 
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	lda	hl,58(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	hl,#0x0002
	add	hl,de
	ld	b,l
	ld	c,h
;	genAssign
;	AOP_STK for 
	lda	hl,58(sp)
	ld	(hl),b
	inc	hl
	ld	(hl),c
;	genMinus
	ld	e,b
	ld	d,c
	dec	de
	dec	de
;	genPointerGet
	ld	b,e
	ld	c,d
	ld	a,(de)
	ld	b,a
	inc	de
	ld	a,(de)
	ld	c,a
;	genCast
; Removed redundent load
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	push	bc
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00328$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00328$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
	lda	hl,18(sp)
	inc	(hl)
	jr	nz,00329$
	inc	hl
	inc	(hl)
00329$:
;printf_large.c:496: break;
;	genGoto
	jp	00151$
;printf_large.c:498: case 'S':
;	genLabel
00124$:
;printf_large.c:499: PTR = va_arg(ap,ptr_t);
;	genAddrOf
;	AOP_STK for __print_format_sloc2_1_0
	lda	hl,36(sp)
	ld	a,l
	ld	d,h
	lda	hl,14(sp)
	ld	(hl+),a
	ld	(hl),d
;	genPlus
;	AOP_STK for 
;	genPlusIncr
	lda	hl,58(sp)
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
	inc	bc
	inc	bc
;	genAssign
;	AOP_STK for 
	dec	hl
	ld	(hl),c
	inc	hl
	ld	(hl),b
;	genMinus
	dec	bc
	dec	bc
;	genPointerGet
	ld	e,c
	ld	d,b
	ld	a,(de)
	ld	c,a
	inc	de
	ld	a,(de)
	ld	b,a
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc2_1_0
;	isBitvar = 0
	lda	hl,14(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,c
	ld	(de),a
	inc	de
	ld	a,b
	ld	(de),a
;printf_large.c:509: length = strlen(PTR);
;	genPointerGet
;	AOP_STK for __print_format_sloc2_1_0
	dec	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	ld	c,a
	inc	de
	ld	a,(de)
	ld	b,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
	push	bc
;	genCall
	call	_strlen
	ld	b,d
	ld	c,e
	lda	sp,2(sp)
;	genCast
;	AOP_STK for __print_format_sloc3_1_0
	lda	hl,13(sp)
	ld	(hl),c
;printf_large.c:511: if ( decimals == -1 )
;	genCmpEq
;	AOP_STK for __print_format_decimals_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,30(sp)
	ld	a,(hl)
	cp	a,#0xFF
	jp	nz,00126$
	jr	00331$
00330$:
	jp	00126$
00331$:
;printf_large.c:513: decimals = length;
;	genAssign
;	AOP_STK for __print_format_sloc3_1_0
;	AOP_STK for __print_format_decimals_1_1
	lda	hl,13(sp)
	ld	a,(hl)
	lda	hl,30(sp)
	ld	(hl),a
;	genLabel
00126$:
;printf_large.c:515: if ( ( !left_justify ) && (length < width) )
;	genIfx
;	AOP_STK for __print_format_left_justify_1_1
	xor	a,a
	lda	hl,49(sp)
	or	a,(hl)
	jp	nz,00261$
;	genCmpLt
;	AOP_STK for __print_format_sloc3_1_0
;	AOP_STK for __print_format_width_1_1
	lda	hl,13(sp)
	ld	a,(hl)
	lda	hl,31(sp)
	sub	a,(hl)
	jp	nc,00261$
;printf_large.c:517: width -= length;
;	genMinus
;	AOP_STK for __print_format_width_1_1
;	AOP_STK for __print_format_sloc3_1_0
	ld	a,(hl)
	lda	hl,13(sp)
	sub	a,(hl)
	lda	hl,31(sp)
	ld	(hl),a
;printf_large.c:518: while( width-- != 0 )
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc2_1_0
	lda	hl,18(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,14(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	b,(hl)
;	genLabel
00127$:
;	genAssign
	ld	c,b
;	genMinus
	dec	b
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	(hl),b
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,c
	or	a,a
	jp	z,00296$
00332$:
;printf_large.c:520: OUTPUT_CHAR( ' ', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	lda	hl,56(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,#0x20
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00333$
	push	hl
	lda	hl,59(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00333$:
	lda	sp,3(sp)
	pop	bc
;	genPlus
;	AOP_STK for __print_format_sloc2_1_0
;	genPlusIncr
	lda	hl,14(sp)
	inc	(hl)
	jr	nz,00334$
	inc	hl
	inc	(hl)
00334$:
;	genAssign
;	AOP_STK for __print_format_sloc2_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,14(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genGoto
	jp	00127$
;printf_large.c:524: while ( *PTR  && (decimals-- > 0))
;	genLabel
00296$:
;	genAssign
;	AOP_STK for __print_format_sloc2_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,14(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	(hl),b
;	genLabel
00261$:
;	genAssign
;	AOP_STK for __print_format_decimals_1_1
;	AOP_STK for __print_format_sloc5_1_0
	lda	hl,30(sp)
	ld	a,(hl)
	lda	hl,10(sp)
	ld	(hl),a
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc2_1_0
	lda	hl,18(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,14(sp)
	ld	(hl+),a
	ld	(hl),e
;	genLabel
00134$:
;	genAddrOf
;	AOP_STK for __print_format_sloc4_1_0
	lda	hl,36(sp)
	ld	a,l
	ld	d,h
	lda	hl,11(sp)
;	genPointerGet
;	AOP_STK for __print_format_sloc4_1_0
	ld	(hl+),a
	ld	(hl),d
	ld	e,a
	ld	a,(de)
	ld	b,a
	inc	de
	ld	a,(de)
	ld	c,a
;	genPointerGet
	ld	e,b
	ld	d,c
	ld	a,(de)
;	genIfx
	or	a,a
	jp	z,00297$
;	genAssign
;	AOP_STK for __print_format_sloc5_1_0
	dec	hl
	dec	hl
	ld	c,(hl)
;	genMinus
;	AOP_STK for __print_format_sloc5_1_0
	dec	(hl)
;	genCmpGt
	ld	a,#0x00
	sub	a,c
	rlca
	jp	nc,00297$
;printf_large.c:526: OUTPUT_CHAR( *PTR++, p );
;	genPointerGet
;	AOP_STK for __print_format_sloc4_1_0
;	AOP_STK for __print_format_sloc6_1_0
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	lda	hl,8(sp)
	ld	(hl+),a
	inc	de
	ld	a,(de)
;	genPlus
;	AOP_STK for __print_format_sloc6_1_0
;	genPlusIncr
	ld      (hl-),a
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
	inc	bc
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc4_1_0
;	isBitvar = 0
	inc	hl
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,c
	ld	(de),a
	inc	de
	ld	a,b
	ld	(de),a
;	genPointerGet
;	AOP_STK for __print_format_sloc6_1_0
	lda	hl,8(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	ld	c,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,c
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00335$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00335$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc2_1_0
;	genPlusIncr
	lda	hl,14(sp)
	inc	(hl)
	jr	nz,00336$
	inc	hl
	inc	(hl)
00336$:
;	genAssign
;	AOP_STK for __print_format_sloc2_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,14(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genGoto
	jp	00134$
;	genLabel
00297$:
;	genAssign
;	AOP_STK for __print_format_sloc2_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,14(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;printf_large.c:529: if ( left_justify && (length < width))
;	genIfx
;	AOP_STK for __print_format_left_justify_1_1
	xor	a,a
	lda	hl,49(sp)
	or	a,(hl)
	jp	z,00151$
;	genCmpLt
;	AOP_STK for __print_format_sloc3_1_0
;	AOP_STK for __print_format_width_1_1
	lda	hl,13(sp)
	ld	a,(hl)
	lda	hl,31(sp)
	sub	a,(hl)
	jp	nc,00151$
;printf_large.c:531: width -= length;
;	genMinus
;	AOP_STK for __print_format_width_1_1
;	AOP_STK for __print_format_sloc3_1_0
	ld	a,(hl)
	lda	hl,13(sp)
	sub	a,(hl)
	lda	hl,31(sp)
	ld	(hl),a
;printf_large.c:532: while( width-- != 0 )
;	genAssign
;	AOP_STK for __print_format_sloc2_1_0
;	AOP_STK for __print_format_charsOutputted_1_1
	lda	hl,14(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,34(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	c,(hl)
;	genLabel
00137$:
;	genAssign
	ld	b,c
;	genMinus
	dec	c
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	(hl),c
;	genCmpEq
; genCmpEq: left 1, right 1, result 0
	ld	a,b
	or	a,a
	jp	z,00298$
00337$:
;printf_large.c:534: OUTPUT_CHAR( ' ', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	lda	hl,56(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,#0x20
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00338$
	push	hl
	lda	hl,59(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00338$:
	lda	sp,3(sp)
	pop	bc
;	genPlus
;	AOP_STK for __print_format_charsOutputted_1_1
;	genPlusIncr
	lda	hl,34(sp)
	inc	(hl)
	jr	nz,00339$
	inc	hl
	inc	(hl)
00339$:
;	genAssign
;	AOP_STK for __print_format_charsOutputted_1_1
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,34(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genGoto
	jp	00137$
;printf_large.c:539: case 'P':
;	genLabel
00143$:
;printf_large.c:540: PTR = va_arg(ap,ptr_t);
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPlus
;	AOP_STK for 
;	AOP_STK for __print_format_sloc4_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	lda	hl,58(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	hl,#0x0002
	add	hl,de
	ld	a,l
	ld	d,h
	lda	hl,11(sp)
	ld	(hl+),a
	ld	(hl),d
;	genAssign
;	AOP_STK for __print_format_sloc4_1_0
;	AOP_STK for 
	dec	hl
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,58(sp)
	ld	(hl+),a
	ld	(hl),e
;	genMinus
;	AOP_STK for __print_format_sloc4_1_0
	lda	hl,11(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	dec	de
	dec	de
	dec	hl
	ld	(hl),e
	inc	hl
	ld	(hl),d
;	genPointerGet
;	AOP_STK for __print_format_sloc4_1_0
	dec	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	dec	hl
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl),a
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc4_1_0
;	isBitvar = 0
	ld	e,c
	ld	d,b
	dec	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
;printf_large.c:584: OUTPUT_CHAR('0', p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,#0x30
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00340$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00340$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
	lda	hl,18(sp)
	inc	(hl)
	jr	nz,00341$
	inc	hl
	inc	(hl)
00341$:
;printf_large.c:585: OUTPUT_CHAR('x', p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,#0x78
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00342$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00342$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
	lda	hl,18(sp)
	inc	(hl)
	jr	nz,00343$
	inc	hl
	inc	(hl)
00343$:
;printf_large.c:586: OUTPUT_2DIGITS( value.byte[1] );
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPlus
;	genPlusIncr
	inc	bc
;	genPointerGet
	ld	a,(bc)
	ld	b,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for __print_format_lower_case_1_1
	lda	hl,45(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genIpush
	push	bc
	inc	sp
;	genCall
	call	_output_2digits
	lda	sp,6(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	lda	hl,18(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	hl,#0x0002
	add	hl,de
	ld	a,l
	ld	d,h
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),d
;printf_large.c:587: OUTPUT_2DIGITS( value.byte[0] );
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPointerGet
	ld	a,(bc)
	ld	b,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for __print_format_lower_case_1_1
	lda	hl,45(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genIpush
	push	bc
	inc	sp
;	genCall
	call	_output_2digits
	lda	sp,6(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	lda	hl,18(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	hl,#0x0002
	add	hl,de
	ld	a,l
	ld	d,h
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),d
;printf_large.c:589: break;
;	genGoto
	jp	00151$
;printf_large.c:592: case 'I':
;	genLabel
00145$:
;printf_large.c:593: signed_argument = 1;
;	genAssign
;	AOP_STK for __print_format_signed_argument_1_1
	lda	hl,45(sp)
	ld	(hl),#0x01
;printf_large.c:594: radix = 10;
;	genAssign
;	AOP_STK for __print_format_radix_1_1
	lda	hl,32(sp)
	ld	(hl),#0x0A
;printf_large.c:595: break;
;	genGoto
	jp	00151$
;printf_large.c:597: case 'O':
;	genLabel
00146$:
;printf_large.c:598: radix = 8;
;	genAssign
;	AOP_STK for __print_format_radix_1_1
	lda	hl,32(sp)
	ld	(hl),#0x08
;printf_large.c:599: break;
;	genGoto
	jp	00151$
;printf_large.c:601: case 'U':
;	genLabel
00147$:
;printf_large.c:602: radix = 10;
;	genAssign
;	AOP_STK for __print_format_radix_1_1
	lda	hl,32(sp)
	ld	(hl),#0x0A
;printf_large.c:603: break;
;	genGoto
	jp	00151$
;printf_large.c:605: case 'X':
;	genLabel
00148$:
;printf_large.c:606: radix = 16;
;	genAssign
;	AOP_STK for __print_format_radix_1_1
	lda	hl,32(sp)
	ld	(hl),#0x10
;printf_large.c:607: break;
;	genGoto
	jp	00151$
;printf_large.c:609: case 'F':
;	genLabel
00149$:
;printf_large.c:610: float_argument=1;
;	genAssign
;	AOP_STK for __print_format_float_argument_1_1
	lda	hl,42(sp)
	ld	(hl),#0x01
;printf_large.c:611: break;
;	genGoto
	jp	00151$
;printf_large.c:613: default:
;	genLabel
00150$:
;printf_large.c:615: OUTPUT_CHAR( c, p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for __print_format_c_1_1
	lda	hl,30(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00344$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00344$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
	lda	hl,18(sp)
	inc	(hl)
	jr	nz,00345$
	inc	hl
	inc	(hl)
00345$:
;printf_large.c:792: return charsOutputted;
;	genGoto
	jp	00151$
;printf_large.c:617: }
;	genLabel
00298$:
;	genAssign
;	AOP_STK for __print_format_charsOutputted_1_1
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,34(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	(hl),c
;	genLabel
00151$:
;printf_large.c:619: if (float_argument) {
;	genIfx
;	AOP_STK for __print_format_float_argument_1_1
	xor	a,a
	lda	hl,42(sp)
	or	a,(hl)
	jp	z,00217$
;printf_large.c:620: value.f=va_arg(ap,float);
;	genAddrOf
;	AOP_STK for __print_format_sloc6_1_0
	lda	hl,36(sp)
	ld	a,l
	ld	d,h
	lda	hl,8(sp)
	ld	(hl+),a
	ld	(hl),d
;	genPlus
;	AOP_STK for 
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	lda	hl,58(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	hl,#0x0004
	add	hl,de
	ld	c,l
	ld	b,h
;	genAssign
;	AOP_STK for 
	lda	hl,58(sp)
	ld	(hl),c
	inc	hl
	ld	(hl),b
;	genMinus
	ld	a,c
	add	a,#0xFC
	ld	c,a
	ld	a,b
	adc	a,#0xFF
	ld	b,a
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
	ld	e,c
	ld	d,b
	ld	a,(de)
	lda	hl,4(sp)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc6_1_0
;	AOP_STK for __print_format_sloc7_1_0
;	isBitvar = 0
	ld	(hl+),a
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	lda	hl,4(sp)
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
;printf_large.c:622: PTR="<NO FLOAT>";
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genAssign (pointer)
;	isBitvar = 0
	ld	e,c
	ld	d,b
	ld	a,#<__str_0
	ld	(de),a
	inc	de
	ld	a,#>__str_0
	ld	(de),a
;printf_large.c:623: while (c=*PTR++)
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc7_1_0
	lda	hl,18(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,4(sp)
	ld	(hl+),a
	ld	(hl),e
;	genLabel
00152$:
;	genAddrOf
;	AOP_STK for __print_format_sloc6_1_0
	lda	hl,36(sp)
	ld	a,l
	ld	d,h
	lda	hl,8(sp)
;	genPointerGet
;	AOP_STK for __print_format_sloc6_1_0
;	AOP_STK for __print_format_sloc4_1_0
	ld	(hl+),a
	ld	(hl),d
	ld	e,a
	ld	a,(de)
	inc	hl
	inc	hl
	ld	(hl+),a
	inc	de
	ld	a,(de)
;	genPlus
;	AOP_STK for __print_format_sloc4_1_0
;	genPlusIncr
	ld      (hl-),a
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
	inc	bc
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc6_1_0
;	isBitvar = 0
	lda	hl,8(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,c
	ld	(de),a
	inc	de
	ld	a,b
	ld	(de),a
;	genPointerGet
;	AOP_STK for __print_format_sloc4_1_0
	inc	hl
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	ld	c,a
;	genAssign
;	AOP_STK for __print_format_c_1_1
	lda	hl,28(sp)
	ld	(hl),c
;	genIfx
	xor	a,a
	or	a,c
	jp	z,00222$
;printf_large.c:625: OUTPUT_CHAR (c, p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for __print_format_c_1_1
	lda	hl,30(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00346$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00346$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc7_1_0
;	genPlusIncr
	lda	hl,4(sp)
	inc	(hl)
	jr	nz,00347$
	inc	hl
	inc	(hl)
00347$:
;	genAssign
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,4(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genGoto
	jp	00152$
;	genLabel
00217$:
;printf_large.c:642: } else if (radix != 0)
;	genCmpEq
;	AOP_STK for __print_format_radix_1_1
; genCmpEq: left 1, right 1, result 0
	lda	hl,32(sp)
	ld	a,(hl)
	or	a,a
	jp	z,00222$
00348$:
;printf_large.c:647: unsigned char _AUTOMEM *pstore = &store[5];
;	genAssign
;	AOP_STK for __print_format_sloc1_1_0
;	AOP_STK for __print_format_pstore_4_31
	lda	hl,16(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,20(sp)
	ld	(hl+),a
	ld	(hl),e
;printf_large.c:650: if (char_argument)
;	genIfx
;	AOP_STK for __print_format_char_argument_1_1
	xor	a,a
	lda	hl,44(sp)
	or	a,(hl)
	jp	z,00163$
;printf_large.c:652: value.l = va_arg(ap,char);
;	genAddrOf
;	AOP_STK for __print_format_sloc7_1_0
	lda	hl,36(sp)
	ld	a,l
	ld	d,h
	lda	hl,4(sp)
	ld	(hl+),a
	ld	(hl),d
;	genPlus
;	AOP_STK for 
;	genPlusIncr
	lda	hl,58(sp)
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
	inc	bc
;	genAssign
;	AOP_STK for 
	dec	hl
	ld	(hl),c
	inc	hl
	ld	(hl),b
;	genMinus
	dec	bc
;	genPointerGet
	ld	a,(bc)
	ld	c,a
;	genCast
;	AOP_STK for __print_format_sloc8_1_0
	lda	hl,0(sp)
	ld	(hl),c
	ld	a,c
	rla	
	sbc	a,a
	inc	hl
	ld	(hl+),a
	ld	(hl+),a
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for __print_format_sloc8_1_0
;	isBitvar = 0
	ld	(hl+),a
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	lda	hl,0(sp)
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
;printf_large.c:653: if (!signed_argument)
;	genIfx
;	AOP_STK for __print_format_signed_argument_1_1
	xor	a,a
	lda	hl,45(sp)
	or	a,(hl)
	jp	nz,00164$
;printf_large.c:655: value.l &= 0xFF;
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for __print_format_sloc8_1_0
	lda	hl,4(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	lda	hl,0(sp)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
;	genAnd
;	AOP_STK for __print_format_sloc8_1_0
	ld      (hl-),a
	dec	hl
	ld	(hl),#0x00
	inc	hl
	ld	(hl),#0x00
	inc	hl
	ld	(hl),#0x00
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for __print_format_sloc8_1_0
;	isBitvar = 0
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	lda	hl,0(sp)
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
;	genGoto
	jp	00164$
;	genLabel
00163$:
;printf_large.c:658: else if (long_argument)
;	genIfx
;	AOP_STK for __print_format_long_argument_1_1
	xor	a,a
	lda	hl,43(sp)
	or	a,(hl)
	jp	z,00160$
;printf_large.c:660: value.l = va_arg(ap,long);
;	genAddrOf
;	AOP_STK for __print_format_sloc8_1_0
	lda	hl,36(sp)
	ld	a,l
	ld	d,h
	lda	hl,0(sp)
	ld	(hl+),a
	ld	(hl),d
;	genPlus
;	AOP_STK for 
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	lda	hl,58(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	hl,#0x0004
	add	hl,de
	ld	c,l
	ld	b,h
;	genAssign
;	AOP_STK for 
	lda	hl,58(sp)
	ld	(hl),c
	inc	hl
	ld	(hl),b
;	genMinus
	ld	a,c
	add	a,#0xFC
	ld	c,a
	ld	a,b
	adc	a,#0xFF
	ld	b,a
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
	ld	e,c
	ld	d,b
	ld	a,(de)
	lda	hl,4(sp)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl),a
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_sloc7_1_0
;	isBitvar = 0
	lda	hl,0(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	lda	hl,4(sp)
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
;	genGoto
	jp	00164$
;	genLabel
00160$:
;printf_large.c:664: value.l = va_arg(ap,int);
;	genAddrOf
;	AOP_STK for __print_format_sloc8_1_0
	lda	hl,36(sp)
	ld	a,l
	ld	d,h
	lda	hl,0(sp)
	ld	(hl+),a
	ld	(hl),d
;	genPlus
;	AOP_STK for 
;	genPlusIncr
	lda	hl,58(sp)
	ld	c,(hl)
	inc	hl
	ld	b,(hl)
	inc	bc
	inc	bc
;	genAssign
;	AOP_STK for 
	dec	hl
	ld	(hl),c
	inc	hl
	ld	(hl),b
;	genMinus
	dec	bc
	dec	bc
;	genPointerGet
	ld	e,c
	ld	d,b
	ld	a,(de)
	ld	c,a
	inc	de
	ld	a,(de)
	ld	b,a
;	genCast
;	AOP_STK for __print_format_sloc7_1_0
	lda	hl,4(sp)
	ld	(hl),c
	inc	hl
	ld	(hl),b
	ld	a,b
	rla	
	sbc	a,a
	inc	hl
	ld	(hl+),a
	ld	(hl),a
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_sloc7_1_0
;	isBitvar = 0
	lda	hl,0(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	lda	hl,4(sp)
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
;printf_large.c:665: if (!signed_argument)
;	genIfx
;	AOP_STK for __print_format_signed_argument_1_1
	xor	a,a
	lda	hl,45(sp)
	or	a,(hl)
	jp	nz,00164$
;printf_large.c:667: value.l &= 0xFFFF;
;	genPointerGet
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_sloc7_1_0
	lda	hl,0(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	lda	hl,4(sp)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
;	genAnd
;	AOP_STK for __print_format_sloc7_1_0
	ld      (hl-),a
	ld	(hl),#0x00
	inc	hl
	ld	(hl),#0x00
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_sloc7_1_0
;	isBitvar = 0
	lda	hl,0(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	lda	hl,4(sp)
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
;	genLabel
00164$:
;printf_large.c:671: if ( signed_argument )
;	genIfx
;	AOP_STK for __print_format_signed_argument_1_1
	xor	a,a
	lda	hl,45(sp)
	or	a,(hl)
	jp	z,00169$
;printf_large.c:673: if (value.l < 0)
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
	ld	e,c
	ld	d,b
	ld	a,(de)
	lda	hl,4(sp)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
;	genCmpLt
;	AOP_STK for __print_format_sloc7_1_0
	ld      (hl),a
; Removed redundent load
	bit	7,a
	jp	z,00166$
;printf_large.c:674: value.l = -value.l;
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
	ld	e,c
	ld	d,b
	ld	a,(de)
	lda	hl,4(sp)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl),a
;	genUminus
;	AOP_STK for __print_format_sloc7_1_0
	ld	de,#0x0000
	ld	a,e
	lda	hl,4(sp)
	sub	a,(hl)
	ld	e,a
	ld	a,d
	inc	hl
	sbc	a,(hl)
	push	af
	ld      (hl-),a
	ld	(hl),e
	ld	de,#0x0000
	inc	hl
	inc	hl
	pop	af
	ld	a,e
	sbc	a,(hl)
	ld	e,a
	ld	a,d
	inc	hl
	sbc	a,(hl)
	ld      (hl-),a
	ld	(hl),e
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc7_1_0
;	isBitvar = 0
	ld	e,c
	ld	d,b
	dec	hl
	dec	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
	inc	de
	inc	hl
	ld	a,(hl)
	ld	(de),a
;	genGoto
	jp	00169$
;	genLabel
00166$:
;printf_large.c:676: signed_argument = 0;
;	genAssign
;	AOP_STK for __print_format_signed_argument_1_1
	lda	hl,45(sp)
	ld	(hl),#0x00
;	genLabel
00169$:
;printf_large.c:680: lsd = 1;
;	genAssign
;	AOP_STK for __print_format_lsd_1_1
	lda	hl,33(sp)
	ld	(hl),#0x01
;printf_large.c:682: do {
;	genAssign
;	AOP_STK for __print_format_pstore_4_31
;	AOP_STK for __print_format_sloc8_1_0
	lda	hl,20(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,0(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_length_1_1
	lda	hl,29(sp)
	ld	(hl),#0x00
;	genLabel
00173$:
;printf_large.c:683: value.byte[4] = 0;
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPlus
;	genPlusIncr
	inc	bc
	inc	bc
	inc	bc
	inc	bc
;	genAssign (pointer)
;	isBitvar = 0
	ld	a,#0x00
	ld	(bc),a
;printf_large.c:685: calculate_digit(&value, radix);
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for __print_format_radix_1_1
	lda	hl,32(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genIpush
	push	bc
;	genCall
	call	_calculate_digit
	lda	sp,3(sp)
;printf_large.c:689: if (!lsd)
;	genIfx
;	AOP_STK for __print_format_lsd_1_1
	xor	a,a
	lda	hl,33(sp)
	or	a,(hl)
	jp	nz,00171$
;printf_large.c:691: *pstore = (value.byte[4] << 4) | (value.byte[4] >> 4) | *pstore;
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPlus
;	AOP_STK for __print_format_sloc7_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	hl,#0x0004
	add	hl,bc
	ld	a,l
	ld	d,h
	lda	hl,4(sp)
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
	ld	(hl+),a
	ld	(hl),d
	ld	e,a
	ld	a,(de)
;	genLeftShift
	ld	c,a
	rlca
	rlca
	rlca
	rlca
	and	a,#0xF0
	ld	c,a
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
	dec	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	ld	b,a
;	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_sloc8_1_0
	lda	hl,0(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	ld	b,a
;	genOr
	ld	a,c
	or	a,b
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc8_1_0
;	isBitvar = 0
	dec	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	(de),a
;printf_large.c:692: pstore--;
;	genMinus
;	AOP_STK for __print_format_sloc8_1_0
	dec	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	dec	de
	dec	hl
	ld	(hl),e
	inc	hl
	ld	(hl),d
;	genAssign
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_pstore_4_31
	dec	hl
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,20(sp)
	ld	(hl+),a
	ld	(hl),e
;	genGoto
	jp	00172$
;	genLabel
00171$:
;printf_large.c:696: *pstore = value.byte[4];
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPlus
;	genPlusIncr
	inc	bc
	inc	bc
	inc	bc
	inc	bc
;	genPointerGet
	ld	a,(bc)
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc8_1_0
;	isBitvar = 0
	lda	hl,0(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	(de),a
;	genLabel
00172$:
;printf_large.c:698: length++;
;	genPlus
;	AOP_STK for __print_format_length_1_1
;	genPlusIncr
	lda	hl,29(sp)
	inc	(hl)
;	genAssign
;	AOP_STK for __print_format_length_1_1
;	AOP_STK for __print_format_sloc3_1_0
	ld	a,(hl)
	lda	hl,13(sp)
	ld	(hl),a
;printf_large.c:699: lsd = !lsd;
;	genNot
;	AOP_STK for __print_format_lsd_1_1
	xor	a,a
	lda	hl,33(sp)
	or	a,(hl)
	sub	a,#0x01
	ld	a,#0x00
	rla
	ld	(hl),a
;printf_large.c:700: } while( value.ul );
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPointerGet
;	AOP_STK for __print_format_sloc7_1_0
	ld	e,c
	ld	d,b
	ld	a,(de)
	lda	hl,4(sp)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl+),a
	inc	de
	ld	a,(de)
	ld	(hl),a
;	genIfx
;	AOP_STK for __print_format_sloc7_1_0
	lda	hl,4(sp)
	ld	a,(hl+)
	or	a,(hl)
	inc	hl
	or	a,(hl)
	inc	hl
	or	a,(hl)
	jp	nz,00173$
;printf_large.c:702: if (width == 0)
;	genAssign
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_pstore_4_31
	lda	hl,0(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,20(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_length_1_1
;	AOP_STK for __print_format_sloc3_1_0
	lda	hl,29(sp)
	ld	a,(hl)
	lda	hl,13(sp)
	ld	(hl),a
;	genIfx
;	AOP_STK for __print_format_width_1_1
	xor	a,a
	lda	hl,31(sp)
	or	a,(hl)
	jp	nz,00177$
;printf_large.c:707: width=1;
;	genAssign
;	AOP_STK for __print_format_width_1_1
	ld	(hl),#0x01
;	genLabel
00177$:
;printf_large.c:711: if (!zero_padding && !left_justify)
;	genIfx
;	AOP_STK for __print_format_zero_padding_1_1
	xor	a,a
	lda	hl,48(sp)
	or	a,(hl)
	jp	nz,00182$
;	genIfx
;	AOP_STK for __print_format_left_justify_1_1
	xor	a,a
	inc	hl
	or	a,(hl)
	jp	nz,00182$
;printf_large.c:713: while ( width > (unsigned char) (length+1) )
;	genPlus
;	AOP_STK for __print_format_sloc3_1_0
;	genPlusIncr
	lda	hl,13(sp)
	ld	c,(hl)
	inc	c
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc8_1_0
	lda	hl,18(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,0(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	b,(hl)
;	genLabel
00178$:
;	genCmpGt
	ld	a,c
	sub	a,b
	jp	nc,00300$
;printf_large.c:715: OUTPUT_CHAR( ' ', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	lda	hl,56(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,#0x20
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00349$
	push	hl
	lda	hl,59(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00349$:
	lda	sp,3(sp)
	pop	bc
;	genPlus
;	AOP_STK for __print_format_sloc8_1_0
;	genPlusIncr
	lda	hl,0(sp)
	inc	(hl)
	jr	nz,00350$
	inc	hl
	inc	(hl)
00350$:
;	genAssign
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,0(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;printf_large.c:716: width--;
;	genMinus
	dec	b
;	genGoto
	jp	00178$
;	genLabel
00300$:
;	genAssign
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,0(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	(hl),b
;	genLabel
00182$:
;printf_large.c:720: if (signed_argument) // this now means the original value was negative
;	genIfx
;	AOP_STK for __print_format_signed_argument_1_1
	xor	a,a
	lda	hl,45(sp)
	or	a,(hl)
	jp	z,00192$
;printf_large.c:722: OUTPUT_CHAR( '-', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,#0x2D
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00351$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00351$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
	lda	hl,18(sp)
	inc	(hl)
	jr	nz,00352$
	inc	hl
	inc	(hl)
00352$:
;printf_large.c:724: width--;
;	genMinus
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	dec	(hl)
;	genGoto
	jp	00193$
;	genLabel
00192$:
;printf_large.c:726: else if (length != 0)
;	genCmpEq
;	AOP_STK for __print_format_sloc3_1_0
; genCmpEq: left 1, right 1, result 0
	lda	hl,13(sp)
	ld	a,(hl)
	or	a,a
	jp	z,00193$
00353$:
;printf_large.c:729: if (prefix_sign)
;	genIfx
;	AOP_STK for __print_format_prefix_sign_1_1
	xor	a,a
	lda	hl,47(sp)
	or	a,(hl)
	jp	z,00187$
;printf_large.c:731: OUTPUT_CHAR( '+', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,#0x2B
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00354$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00354$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
	lda	hl,18(sp)
	inc	(hl)
	jr	nz,00355$
	inc	hl
	inc	(hl)
00355$:
;printf_large.c:733: width--;
;	genMinus
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	dec	(hl)
;	genGoto
	jp	00193$
;	genLabel
00187$:
;printf_large.c:735: else if (prefix_space)
;	genIfx
;	AOP_STK for __print_format_prefix_space_1_1
	xor	a,a
	lda	hl,46(sp)
	or	a,(hl)
	jp	z,00193$
;printf_large.c:737: OUTPUT_CHAR( ' ', p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,#0x20
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00356$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00356$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
	lda	hl,18(sp)
	inc	(hl)
	jr	nz,00357$
	inc	hl
	inc	(hl)
00357$:
;printf_large.c:739: width--;
;	genMinus
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	dec	(hl)
;	genLabel
00193$:
;printf_large.c:744: if (!left_justify)
;	genIfx
;	AOP_STK for __print_format_left_justify_1_1
	xor	a,a
	lda	hl,49(sp)
	or	a,(hl)
	jp	nz,00201$
;printf_large.c:745: while ( width-- > length )
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc7_1_0
	lda	hl,18(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,4(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	b,(hl)
;	genLabel
00194$:
;	genAssign
	ld	c,b
;	genMinus
	dec	b
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	(hl),b
;	genCmpGt
;	AOP_STK for __print_format_sloc3_1_0
	lda	hl,13(sp)
	ld	a,(hl)
	sub	a,c
	jp	nc,00301$
;printf_large.c:747: OUTPUT_CHAR( zero_padding ? '0' : ' ', p );
;	genIfx
;	AOP_STK for __print_format_zero_padding_1_1
	xor	a,a
	lda	hl,48(sp)
	or	a,(hl)
	jp	z,00227$
;	genAssign
	ld	c,#0x30
;	genGoto
	jp	00228$
;	genLabel
00227$:
;	genAssign
	ld	c,#0x20
;	genLabel
00228$:
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	lda	hl,56(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,c
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00358$
	push	hl
	lda	hl,59(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00358$:
	lda	sp,3(sp)
	pop	bc
;	genPlus
;	AOP_STK for __print_format_sloc7_1_0
;	genPlusIncr
	lda	hl,4(sp)
	inc	(hl)
	jr	nz,00359$
	inc	hl
	inc	(hl)
00359$:
;	genAssign
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,4(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genGoto
	jp	00194$
;	genLabel
00201$:
;printf_large.c:752: if (width > length)
;	genCmpGt
;	AOP_STK for __print_format_width_1_1
;	AOP_STK for __print_format_sloc3_1_0
	lda	hl,13(sp)
	ld	a,(hl)
	lda	hl,31(sp)
	sub	a,(hl)
	jp	nc,00198$
;printf_large.c:753: width -= length;
;	genMinus
;	AOP_STK for __print_format_width_1_1
;	AOP_STK for __print_format_sloc3_1_0
	ld	a,(hl)
	lda	hl,13(sp)
	sub	a,(hl)
	lda	hl,31(sp)
	ld	(hl),a
;	genGoto
	jp	00293$
;	genLabel
00198$:
;printf_large.c:755: width = 0;
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	(hl),#0x00
;printf_large.c:792: return charsOutputted;
;	genGoto
	jp	00293$
;printf_large.c:759: while( length-- )
;	genLabel
00301$:
;	genAssign
;	AOP_STK for __print_format_sloc7_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,4(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	(hl),b
;	genLabel
00293$:
;	genAssign
;	AOP_STK for __print_format_pstore_4_31
;	AOP_STK for __print_format_sloc6_1_0
	lda	hl,20(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,8(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_sloc0_1_0
;	AOP_STK for __print_format_sloc8_1_0
	lda	hl,18(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,0(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_sloc3_1_0
;	AOP_STK for __print_format_sloc7_1_0
	lda	hl,13(sp)
	ld	a,(hl)
	lda	hl,4(sp)
	ld	(hl),a
;	genLabel
00206$:
;	genAssign
;	AOP_STK for __print_format_sloc7_1_0
	lda	hl,4(sp)
	ld	c,(hl)
;	genMinus
;	AOP_STK for __print_format_sloc7_1_0
	dec	(hl)
;	genIfx
	xor	a,a
	or	a,c
	jp	z,00302$
;printf_large.c:761: lsd = !lsd;
;	genNot
;	AOP_STK for __print_format_lsd_1_1
	xor	a,a
	lda	hl,33(sp)
	or	a,(hl)
	sub	a,#0x01
	ld	a,#0x00
	rla
	ld	(hl),a
;printf_large.c:762: if (!lsd)
;	genIfx
;	AOP_STK for __print_format_lsd_1_1
	xor	a,a
	or	a,(hl)
	jp	nz,00204$
;printf_large.c:764: pstore++;
;	genPlus
;	AOP_STK for __print_format_sloc6_1_0
;	genPlusIncr
	lda	hl,8(sp)
	inc	(hl)
	jr	nz,00360$
	inc	hl
	inc	(hl)
00360$:
;printf_large.c:765: value.byte[4] = *pstore >> 4;
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPlus
;	AOP_STK for __print_format_sloc4_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	hl,#0x0004
	add	hl,bc
	ld	a,l
	ld	d,h
	lda	hl,11(sp)
	ld	(hl+),a
	ld	(hl),d
;	genPointerGet
;	AOP_STK for __print_format_sloc6_1_0
	lda	hl,8(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
	ld	c,a
;	genRightShift
; Removed redundent load
	srl	c
	srl	c
	srl	c
	srl	c
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc4_1_0
;	isBitvar = 0
	inc	hl
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,c
	ld	(de),a
;	genGoto
	jp	00205$
;	genLabel
00204$:
;printf_large.c:769: value.byte[4] = *pstore & 0x0F;
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPlus
;	AOP_STK for __print_format_sloc4_1_0
;	genPlusIncr
;	Can't optimise plus by inc, falling back to the normal way
	ld	hl,#0x0004
	add	hl,bc
	ld	a,l
	ld	d,h
	lda	hl,11(sp)
	ld	(hl+),a
	ld	(hl),d
;	genPointerGet
;	AOP_STK for __print_format_sloc6_1_0
	lda	hl,8(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	a,(de)
;	genAnd
	ld	c,a
	and	a,#0x0F
;	genAssign (pointer)
;	AOP_STK for __print_format_sloc4_1_0
;	isBitvar = 0
	inc	hl
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	(de),a
;	genLabel
00205$:
;printf_large.c:772: output_digit( value.byte[4], lower_case, output_char, p );
;	genAddrOf
	lda	hl,36(sp)
	ld	c,l
	ld	b,h
;	genPlus
;	genPlusIncr
	inc	bc
	inc	bc
	inc	bc
	inc	bc
;	genPointerGet
	ld	a,(bc)
	ld	c,a
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for __print_format_lower_case_1_1
	lda	hl,45(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genIpush
	ld	a,c
	push	af
	inc	sp
;	genCall
	call	_output_digit
	lda	sp,6(sp)
;printf_large.c:773: charsOutputted++;
;	genPlus
;	AOP_STK for __print_format_sloc8_1_0
;	genPlusIncr
	lda	hl,0(sp)
	inc	(hl)
	jr	nz,00361$
	inc	hl
	inc	(hl)
00361$:
;	genAssign
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,0(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genGoto
	jp	00206$
;	genLabel
00302$:
;	genAssign
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,0(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;printf_large.c:778: if (left_justify)
;	genIfx
;	AOP_STK for __print_format_left_justify_1_1
	xor	a,a
	lda	hl,49(sp)
	or	a,(hl)
	jp	z,00222$
;printf_large.c:779: while (width-- > 0)
;	genAssign
;	AOP_STK for __print_format_sloc8_1_0
;	AOP_STK for __print_format_charsOutputted_1_1
	lda	hl,0(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,34(sp)
	ld	(hl+),a
	ld	(hl),e
;	genAssign
;	AOP_STK for __print_format_width_1_1
	lda	hl,31(sp)
	ld	c,(hl)
;	genLabel
00209$:
;	genAssign
	ld	b,c
;	genMinus
	dec	c
;	genIfx
	xor	a,a
	or	a,b
	jp	z,00222$
;printf_large.c:781: OUTPUT_CHAR(' ', p);
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0
	push	bc
;	AOP_STK for 
	lda	hl,56(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
	ld	a,#0x20
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00362$
	push	hl
	lda	hl,59(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00362$:
	lda	sp,3(sp)
	pop	bc
;	genPlus
;	AOP_STK for __print_format_charsOutputted_1_1
;	genPlusIncr
	lda	hl,34(sp)
	inc	(hl)
	jr	nz,00363$
	inc	hl
	inc	(hl)
00363$:
;	genAssign
;	AOP_STK for __print_format_charsOutputted_1_1
;	AOP_STK for __print_format_sloc0_1_0
	lda	hl,34(sp)
	ld	a,(hl+)
	ld	e,(hl)
	lda	hl,18(sp)
	ld	(hl+),a
	ld	(hl),e
;	genGoto
	jp	00209$
;	genLabel
00220$:
;printf_large.c:788: OUTPUT_CHAR( c, p );
;	genIpush
; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0
;	AOP_STK for 
	lda	hl,54(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	push	hl
;	genIpush
;	AOP_STK for __print_format_c_1_1
	lda	hl,30(sp)
	ld	a,(hl)
	push	af
	inc	sp
;	genPcall
;	AOP_STK for 
	ld	hl,#00364$
	push	hl
	lda	hl,57(sp)
	ld	a,(hl+)
	ld	h,(hl)
	ld	l,a
	jp	(hl)
00364$:
	lda	sp,3(sp)
;	genPlus
;	AOP_STK for __print_format_sloc0_1_0
;	genPlusIncr
	lda	hl,18(sp)
	inc	(hl)
	jr	nz,00365$
	inc	hl
	inc	(hl)
00365$:
;	genGoto
	jp	00222$
;	genLabel
00224$:
;printf_large.c:792: return charsOutputted;
;	genRet
;	AOP_STK for __print_format_sloc0_1_0
; Dump of IC_LEFT: type AOP_STK size 2
;	 aop_stk -32
	lda	hl,18(sp)
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
;	genLabel
00225$:
;	genEndFunction
	lda	sp,50(sp)
	ret
__print_format_end::
__str_0:
	.ascii "<NO FLOAT>"
	.db 0x00
	.area _CODE
