www.pudn.com > nandflash_1G08U0A.rar > drv_nandflash.ms


	.file	"..\src\drv_nandflash.c" 
 
;  GNU C 2.7.2 [AL 1.1, MM 40] RISC NEWS-OS compiled by CC 
 
;  Cc1 defaults: 
;  -mmemcpy 
 
;  Cc1 arguments (-G value = 0, Cpu = 3000, ISA = 1): 
;  -quiet -dumpbase -g -O -fno-builtin -o 
 
gcc2_compiled.: 
__gnu_compiled_c: 
	.code 
	.def	_tag_nand_fls,	scl	10,	type	0x8,	size	4,	endef 
	.def	maker_code,	val	0,	scl	8,	type	0xc,	endef 
	.def	device_code,	val	1,	scl	8,	type	0xc,	endef 
	.def	rev1,	val	2,	scl	8,	type	0xc,	endef 
	.def	mutiplane_code,	val	3,	scl	8,	type	0xc,	endef 
	.def	_tag_nand_fls,	val	4,	scl	102,	tag	_tag_nand_fls,	size	4,	endef 
	.def	t_nand_fls_id,	scl	13,	tag	_tag_nand_fls,	size	4,	type	0x8,	endef 
	.align	1 
	.def	nand_fls_init,	val	nand_fls_init,	scl	2,	type	0x24,	endef 
	.global	nand_fls_init 
 
	.loc	32 
	.def	ent,	scl	101,	type	0x0,	endef 
nand_fls_init: 
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0 
;	.mask	0x80000000,-4 
;	.fmask	0x00000000,0 
 
	.loc	33 
	.def	begin,	scl	100,	type	0x0,	endef 
	.def	i,	val	11,	scl	4,	type	0xd,	endef 
 
	.loc	35 
	ext	this_nand_fls_id+0x0@h	; 	xld.w	%r12,this_nand_fls_id 
	ext	this_nand_fls_id+0x0@m 
	ld.w	%r12,this_nand_fls_id+0x0@l 
	ext	p_nand_fls_id+0x0@h	; 	xld.w	[p_nand_fls_id],%r12 
	ext	p_nand_fls_id+0x0@m 
	ld.w	%r9,p_nand_fls_id+0x0@l 
	ld.w	[%r9],%r12 
 
	.loc	36 
	ld.w	%r13,0x0 
	ld.w	%r14,0x4	; 	xld.w	%r14,0x00000004		; 4 
	ext	memset@rh	; 	xcall	memset 
	ext	memset@rm 
	call	memset@rl 
 
	.loc	41 
	ext	0x0		; 	xld.w	%r12,0x000402d9		; 262873 
	ext	0x100b 
	ld.w	%r12,0x19 
	bclr	[%r12],0x5	; 	xbclr	[%r12],0x5 
 
	.loc	42 
	ext	0x0		; 	xld.w	%r11,0x000402da		; 262874 
	ext	0x100b 
	ld.w	%r11,0x1a 
	bset	[%r11],0x5	; 	xbset	[%r11],0x5 
 
	.loc	43 
	bclr	[%r12],0x4	; 	xbclr	[%r12],0x4 
 
	.loc	44 
	bset	[%r11],0x4	; 	xbset	[%r11],0x4 
 
	.loc	47 
	ext	0x6		; 	xld.w	%r12,0x00300022		; 3145762 
	ext	0x0 
	ld.w	%r12,0x22 
	bset	[%r12],0x1	; 	xbset	[%r12],0x1 
 
	.loc	50 
	ext	0x6		; 	xld.w	%r11,0x0030004a		; 3145802 
	ext	0x1 
	ld.w	%r11,0xa 
	;.set	volatile 
	ld.ub	%r10,[%r11]	; 	xld.ub	%r10,[%r11] 
	;.set	novolatile 
	ext	0x3		; 	xand	%r10,%r10,0x000000f3 
	and	%r10,0x33 
	;.set	volatile 
	ld.b	[%r11],%r10	; 	xld.b	[%r11],%r10 
	;.set	novolatile 
 
	.loc	53 
	ext	0x6		; 	xld.w	%r11,0x00300023		; 3145763 
	ext	0x0 
	ld.w	%r11,0x23 
	bset	[%r11],0x1	; 	xbset	[%r11],0x1 
 
	.loc	56 
	ext	0x6		; 	xld.w	%r11,0x00300103		; 3145987 
	ext	0x4 
	ld.w	%r11,0x3 
	bclr	[%r11],0x0	; 	xbclr	[%r11],0x0 
 
	.loc	59 
	ext	0x6		; 	xld.w	%r10,0x00300100		; 3145984 
	ext	0x4 
	ld.w	%r10,0x0 
	ld.w	%r15,0x0 
	;.set	volatile 
	ld.b	[%r10],%r15	; 	xld.b	[%r10],%r15 
	;.set	novolatile 
 
	.loc	63 
	ext	0x6		; 	xld.w	%r11,0x00300047		; 3145799 
	ext	0x1 
	ld.w	%r11,0x7 
	bset	[%r11],0x0	; 	xbset	[%r11],0x0 
 
	.loc	64 
	bset	[%r11],0x2	; 	xbset	[%r11],0x2 
 
	.loc	67 
	ext	0x6		; 	xld.w	%r11,0x00300f47		; 3149639 
	ext	0x3d 
	ld.w	%r11,0x7 
	bclr	[%r11],0x5	; 	xbclr	[%r11],0x5 
 
	.loc	70 
	ext	0x6		; 	xld.w	%r11,0x00300020		; 3145760 
	ext	0x0 
	ld.w	%r11,0x20 
	bset	[%r11],0x0	; 	xbset	[%r11],0x0 
 
	.loc	71 
	ext	0x6		; 	xld.w	%r11,0x00300048		; 3145800 
	ext	0x1 
	ld.w	%r11,0x8 
	bset	[%r11],0x0	; 	xbset	[%r11],0x0 
 
	.loc	74 
	ext	0x6		; 	xld.w	%r11,0x00300021		; 3145761 
	ext	0x0 
	ld.w	%r11,0x21 
	bset	[%r11],0x0	; 	xbset	[%r11],0x0 
 
	.loc	77 
	bclr	[%r12],0x1	; 	xbclr	[%r12],0x1 
 
	.loc	79 
; APP 
	nop 
; NO_APP 
 
	.loc	81 
	ld.w	%r11,0x0 
	ext	0x9c		; 	xld.w	%r12,0x0000270f		; 9999 
	ld.w	%r12,0xf 
__LX5:				; __L5: 
 
	.loc	82 
; APP 
	nop 
; NO_APP 
 
	.loc	81 
	add	%r11,0x1	; 	xadd	%r11,%r11,1 
	ld.uh	%r10,%r11 
	cmp	%r10,%r12 
	jrule	__LX5		; 	xjrule	__L5 
 
	.loc	87 
	ext	0x0		; 	xld.w	%r11,0x000402d9		; 262873 
	ext	0x100b 
	ld.w	%r11,0x19 
	bset	[%r11],0x4	; 	xbset	[%r11],0x4 
 
	.loc	88 
	ext	0x80		; 	xld.w	%r12,0x04000004		; 67108868 
	ext	0x0 
	ld.w	%r12,0x4 
	ext	0x2		; 	xld.w	%r10,0x00000090		; 144 
	ld.w	%r10,0x10 
	;.set	volatile 
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10 
	;.set	novolatile 
 
	.loc	89 
	bclr	[%r11],0x4	; 	xbclr	[%r11],0x4 
 
	.loc	91 
	bset	[%r11],0x5	; 	xbset	[%r11],0x5 
 
	.loc	92 
	ext	0x80		; 	xld.w	%r10,0x04000008		; 67108872 
	ext	0x0 
	ld.w	%r10,0x8 
	ld.w	%r15,0x0 
	;.set	volatile 
	ld.b	[%r10],%r15	; 	xld.b	[%r10],%r15 
	;.set	novolatile 
 
	.loc	93 
	bclr	[%r11],0x5	; 	xbclr	[%r11],0x5 
 
	.loc	96 
	ext	p_nand_fls_id+0x0@h	; 	xld.w	%r12,[p_nand_fls_id] 
	ext	p_nand_fls_id+0x0@m 
	ld.w	%r9,p_nand_fls_id+0x0@l 
	ld.w	%r12,[%r9] 
	ext	0x80		; 	xld.w	%r11,0x04000000		; 67108864 
	ext	0x0 
	ld.w	%r11,0x0 
	;.set	volatile 
	ld.ub	%r10,[%r11]	; 	xld.ub	%r10,[%r11] 
	;.set	novolatile 
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10 
 
	.loc	97 
	ext	p_nand_fls_id+0x0@h	; 	xld.w	%r12,[p_nand_fls_id] 
	ext	p_nand_fls_id+0x0@m 
	ld.w	%r9,p_nand_fls_id+0x0@l 
	ld.w	%r12,[%r9] 
	;.set	volatile 
	ld.ub	%r10,[%r11]	; 	xld.ub	%r10,[%r11] 
	;.set	novolatile 
	ext	0x1		; 	xld.b	[%r12+1],%r10 
	ld.b	[%r12],%r10 
 
	.loc	98 
	ext	p_nand_fls_id+0x0@h	; 	xld.w	%r12,[p_nand_fls_id] 
	ext	p_nand_fls_id+0x0@m 
	ld.w	%r9,p_nand_fls_id+0x0@l 
	ld.w	%r12,[%r9] 
	;.set	volatile 
	ld.ub	%r10,[%r11]	; 	xld.ub	%r10,[%r11] 
	;.set	novolatile 
	ext	0x2		; 	xld.b	[%r12+2],%r10 
	ld.b	[%r12],%r10 
 
	.loc	99 
	ext	p_nand_fls_id+0x0@h	; 	xld.w	%r12,[p_nand_fls_id] 
	ext	p_nand_fls_id+0x0@m 
	ld.w	%r9,p_nand_fls_id+0x0@l 
	ld.w	%r12,[%r9] 
	;.set	volatile 
	ld.ub	%r10,[%r11]	; 	xld.ub	%r10,[%r11] 
	;.set	novolatile 
	ext	0x3		; 	xld.b	[%r12+3],%r10 
	ld.b	[%r12],%r10 
 
	.loc	101 
	ext	0x6		; 	xld.w	%r11,0x00300022		; 3145762 
	ext	0x0 
	ld.w	%r11,0x22 
	bset	[%r11],0x1	; 	xbset	[%r11],0x1 
 
	.loc	102 
; APP 
	nop 
; NO_APP 
 
	.loc	103 
	ext	p_nand_fls_id+0x0@h	; 	xld.w	%r12,[p_nand_fls_id] 
	ext	p_nand_fls_id+0x0@m 
	ld.w	%r9,p_nand_fls_id+0x0@l 
	ld.w	%r12,[%r9] 
	ld.ub	%r11,[%r12]	; 	xld.ub	%r11,[%r12] 
 
	.loc	106 
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1 
 
	.loc	103 
	ext	0x3		; 	xcmp	%r11,236 
	cmp	%r11,0x2c 
	jrne	__LX7		; 	xjrne	__L7 
	ext	0x1		; 	xld.ub	%r11,[%r12+1] 
	ld.ub	%r11,[%r12] 
	ext	0x3		; 	xcmp	%r11,241 
	cmp	%r11,0x31 
	jrne	__LX7		; 	xjrne	__L7 
	ext	0x3		; 	xld.ub	%r11,[%r12+3] 
	ld.ub	%r11,[%r12] 
	xor	%r11,0x15	; 	xxor	%r11,%r11,0x00000015 
	not	%r10,%r11 
	add	%r10,1 
	or	%r10,%r11 
	srl	%r10,0x8	; 	xsrl	%r10,31 
	srl	%r10,0x8 
	srl	%r10,0x8 
	srl	%r10,0x7 
__LX7:				; __L7: 
 
	.loc	106 
 
	.loc	109 
	.def	bend,	scl	110,	type	0x0,	endef 
	ret 
	.def	end,	scl	111,	type	0x0,	endef 
	.align	1 
	.def	nand_fls_Reset,	val	nand_fls_Reset,	scl	2,	type	0x21,	endef 
	.global	nand_fls_Reset 
 
	.loc	112 
	.def	ent,	scl	101,	type	0x0,	endef 
nand_fls_Reset: 
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0 
;	.mask	0x80000000,-4 
;	.fmask	0x00000000,0 
 
	.loc	114 
	.def	begin,	scl	100,	type	0x0,	endef 
	.def	i,	val	10,	scl	4,	type	0x4,	endef 
 
	.loc	116 
	ext	0x0		; 	xld.w	%r11,0x000402d9		; 262873 
	ext	0x100b 
	ld.w	%r11,0x19 
	bset	[%r11],0x4	; 	xbset	[%r11],0x4 
 
	.loc	118 
	ext	0x80		; 	xld.w	%r12,0x04000000		; 67108864 
	ext	0x0 
	ld.w	%r12,0x0 
	ext	0x3		; 	xld.w	%r10,0x000000ff		; 255 
	ld.w	%r10,0x3f 
	;.set	volatile 
	ld.h	[%r12],%r10	; 	xld.h	[%r12],%r10 
	;.set	novolatile 
 
	.loc	120 
	bclr	[%r11],0x4	; 	xbclr	[%r11],0x4 
 
	.loc	123 
	ld.w	%r10,0x0 
	ext	0xc		; 	xld.w	%r11,0x0000031f		; 799 
	ld.w	%r11,0x1f 
__LX13:				; __L13: 
 
	.loc	124 
; APP 
	nop 
; NO_APP 
 
	.loc	123 
	add	%r10,0x1	; 	xadd	%r10,%r10,1 
	cmp	%r10,%r11 
	jrle	__LX13		; 	xjrle	__L13 
 
	.loc	128 
	.def	bend,	scl	110,	type	0x0,	endef 
	ret 
	.def	end,	scl	111,	type	0x0,	endef 
	.align	1 
	.def	nand_fls_erase_block,	val	nand_fls_erase_block,	scl	2,	type	0x24,	endef 
	.global	nand_fls_erase_block 
 
	.loc	136 
	.def	ent,	scl	101,	type	0x0,	endef 
nand_fls_erase_block: 
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0 
;	.mask	0x80000000,-4 
;	.fmask	0x00000000,0 
	.def	Block_Number,	val	12,	scl	17,	type	0xe,	endef 
 
	.loc	138 
	.def	begin,	scl	100,	type	0x0,	endef 
 
	.loc	140 
	ext	0x6		; 	xld.w	%r11,0x00300022		; 3145762 
	ext	0x0 
	ld.w	%r11,0x22 
	bclr	[%r11],0x1	; 	xbclr	[%r11],0x1 
 
	.loc	141 
; APP 
	nop 
; NO_APP 
 
	.loc	144 
	ext	0x0		; 	xld.w	%r11,0x000402d9		; 262873 
	ext	0x100b 
	ld.w	%r11,0x19 
	bset	[%r11],0x4	; 	xbset	[%r11],0x4 
 
	.loc	145 
	ext	0x80		; 	xld.w	%r14,0x04000004		; 67108868 
	ext	0x0 
	ld.w	%r14,0x4 
	ext	0x1		; 	xld.w	%r10,0x00000060		; 96 
	ld.w	%r10,0x20 
	;.set	volatile 
	ld.b	[%r14],%r10	; 	xld.b	[%r14],%r10 
	;.set	novolatile 
 
	.loc	146 
	bclr	[%r11],0x4	; 	xbclr	[%r11],0x4 
 
	.loc	149 
	bset	[%r11],0x5	; 	xbset	[%r11],0x5 
 
	.loc	152 
	ext	0x80		; 	xld.w	%r13,0x04000008		; 67108872 
	ext	0x0 
	ld.w	%r13,0x8 
	sll	%r12,0x6	; 	xsll	%r12,6 
	ld.w	%r10,%r12 
	ext	0x3		; 	xand	%r10,%r10,0x000000ff 
	and	%r10,0x3f 
	;.set	volatile 
	ld.h	[%r13],%r10	; 	xld.h	[%r13],%r10 
	;.set	novolatile 
 
	.loc	155 
	ext	0x3fc		; 	xand	%r12,%r12,0x0000ff00 
	and	%r12,0x0 
	srl	%r12,0x8	; 	xsrl	%r12,8 
	;.set	volatile 
	ld.h	[%r13],%r12	; 	xld.h	[%r13],%r12 
	;.set	novolatile 
 
	.loc	157 
	bclr	[%r11],0x5	; 	xbclr	[%r11],0x5 
 
	.loc	160 
	bset	[%r11],0x4	; 	xbset	[%r11],0x4 
 
	.loc	161 
	ext	0x3		; 	xld.w	%r10,0x000000d0		; 208 
	ld.w	%r10,0x10 
	;.set	volatile 
	ld.b	[%r14],%r10	; 	xld.b	[%r14],%r10 
	;.set	novolatile 
 
	.loc	162 
	bclr	[%r11],0x4	; 	xbclr	[%r11],0x4 
 
	.loc	164 
; APP 
	nop 
; NO_APP 
 
	.loc	165 
; APP 
	nop 
; NO_APP 
 
	.loc	166 
; APP 
	nop 
; NO_APP 
 
	.loc	167 
; APP 
	nop 
; NO_APP 
 
	.loc	168 
; APP 
	nop 
; NO_APP 
 
	.loc	169 
; APP 
	nop 
; NO_APP 
 
	.loc	170 
; APP 
	nop 
; NO_APP 
 
	.loc	171 
; APP 
	nop 
; NO_APP 
 
	.loc	172 
; APP 
	nop 
; NO_APP 
 
	.loc	173 
; APP 
	nop 
; NO_APP 
 
	.loc	174 
; APP 
	nop 
; NO_APP 
 
	.loc	175 
; APP 
	nop 
; NO_APP 
 
	.loc	176 
; APP 
	nop 
; NO_APP 
 
	.loc	177 
; APP 
	nop 
; NO_APP 
 
	.loc	178 
; APP 
	nop 
; NO_APP 
 
	.loc	179 
; APP 
	nop 
; NO_APP 
 
	.loc	180 
; APP 
	nop 
; NO_APP 
 
	.loc	181 
; APP 
	nop 
; NO_APP 
 
	.loc	182 
; APP 
	nop 
; NO_APP 
 
	.loc	183 
; APP 
	nop 
; NO_APP 
 
	.loc	184 
; APP 
	nop 
; NO_APP 
 
	.loc	186 
	ext	0x6		; 	xld.w	%r12,0x00300f46		; 3149638 
	ext	0x3d 
	ld.w	%r12,0x6 
	ext	0x0		; 	xld.w	%r11,0x00000020		; 32 
	ld.w	%r11,0x20 
__LX18:				; __L18: 
 
	.loc	187 
	;.set	volatile 
	ld.ub	%r10,[%r12]	; 	xld.ub	%r10,[%r12] 
	;.set	novolatile 
	and	%r10,%r11 
	ld.ub	%r10,%r10 
	cmp	%r10,0x0 
	jreq	__LX18		; 	xjreq	__L18 
 
	.loc	190 
	ext	0x0		; 	xld.w	%r11,0x000402d9		; 262873 
	ext	0x100b 
	ld.w	%r11,0x19 
	bset	[%r11],0x4	; 	xbset	[%r11],0x4 
 
	.loc	191 
	ext	0x80		; 	xld.w	%r12,0x04000004		; 67108868 
	ext	0x0 
	ld.w	%r12,0x4 
	ext	0x1		; 	xld.w	%r10,0x00000070		; 112 
	ld.w	%r10,0x30 
	;.set	volatile 
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10 
	;.set	novolatile 
 
	.loc	192 
	bclr	[%r11],0x4	; 	xbclr	[%r11],0x4 
 
	.loc	193 
	ext	0x80		; 	xld.w	%r10,0x04000000		; 67108864 
	ext	0x0 
	ld.w	%r10,0x0 
	;.set	volatile 
	ld.ub	%r10,[%r10]	; 	xld.ub	%r10,[%r10] 
	;.set	novolatile 
	ld.w	%r12,%r10 
	and	%r12,0x1	; 	xand	%r12,%r12,0x00000001 
	jrne	__LX20		; 	xjrne	__L20 
 
	.loc	201 
	ext	0x6		; 	xld.w	%r11,0x00300022		; 3145762 
	ext	0x0 
	ld.w	%r11,0x22 
	bset	[%r11],0x1	; 	xbset	[%r11],0x1 
 
	.loc	202 
	ld.w	%r15,0x0 
	ext	ret+0x0@h	; 	xld.b	[ret],%r15 
	ext	ret+0x0@m 
	ld.w	%r9,ret+0x0@l 
	ld.b	[%r9],%r15 
 
	.loc	203 
	ld.w	%r10,%r12 
	jp	__LX22		; 	xjp	__L22 
__LX20:				; __L20: 
 
	.loc	195 
	ext	0x6		; 	xld.w	%r10,0x00300022		; 3145762 
	ext	0x0 
	ld.w	%r10,0x22 
	bset	[%r10],0x1	; 	xbset	[%r10],0x1 
 
	.loc	196 
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1 
	ext	ret+0x0@h	; 	xld.b	[ret],%r10 
	ext	ret+0x0@m 
	ld.w	%r9,ret+0x0@l 
	ld.b	[%r9],%r10 
 
	.loc	197 
	ld.w	%r10,0x3f	; 	xld.w	%r10,-1			; 0xffffffff 
__LX22:				; __L22: 
 
	.loc	206 
	.def	bend,	scl	110,	type	0x0,	endef 
	ret 
	.def	end,	scl	111,	type	0x0,	endef 
	.align	1 
	.def	nand_fls_write_page,	val	nand_fls_write_page,	scl	2,	type	0x24,	endef 
	.global	nand_fls_write_page 
 
	.loc	211 
	.def	ent,	scl	101,	type	0x0,	endef 
nand_fls_write_page: 
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0 
;	.mask	0x80000000,-4 
;	.fmask	0x00000000,0 
	ld.w	%r15,%r12 
	.def	data,	val	15,	scl	17,	type	0x1c,	endef 
	.def	page_num,	val	13,	scl	17,	type	0xe,	endef 
	.def	block_num,	val	14,	scl	17,	type	0xe,	endef 
 
	.loc	212 
	.def	begin,	scl	100,	type	0x0,	endef 
	.def	sWriteCount,	val	11,	scl	4,	type	0xd,	endef 
 
	.loc	215 
	ext	0x6		; 	xld.w	%r11,0x00300022		; 3145762 
	ext	0x0 
	ld.w	%r11,0x22 
	bclr	[%r11],0x1	; 	xbclr	[%r11],0x1 
 
	.loc	216 
; APP 
	nop 
; NO_APP 
 
	.loc	219 
	ext	0x0		; 	xld.w	%r12,0x000402d9		; 262873 
	ext	0x100b 
	ld.w	%r12,0x19 
	bset	[%r12],0x4	; 	xbset	[%r12],0x4 
 
	.loc	220 
	ext	0x80		; 	xld.w	%r11,0x04000004		; 67108868 
	ext	0x0 
	ld.w	%r11,0x4 
	ext	0x2		; 	xld.w	%r10,0x00000080		; 128 
	ld.w	%r10,0x0 
	;.set	volatile 
	ld.b	[%r11],%r10	; 	xld.b	[%r11],%r10 
	;.set	novolatile 
 
	.loc	221 
	bclr	[%r12],0x4	; 	xbclr	[%r12],0x4 
 
	.loc	224 
	bset	[%r12],0x5	; 	xbset	[%r12],0x5 
 
	.loc	227 
	ext	0x80		; 	xld.w	%r11,0x04000008		; 67108872 
	ext	0x0 
	ld.w	%r11,0x8 
	ld.w	%r4,0x0 
	;.set	volatile 
	ld.h	[%r11],%r4	; 	xld.h	[%r11],%r4 
	;.set	novolatile 
 
	.loc	230 
	;.set	volatile 
	ld.h	[%r11],%r4	; 	xld.h	[%r11],%r4 
	;.set	novolatile 
 
	.loc	233 
	sll	%r14,0x6	; 	xsll	%r14,6 
	add	%r14,%r13 
	ld.w	%r10,%r14 
	ext	0x3		; 	xand	%r10,%r10,0x000000ff 
	and	%r10,0x3f 
	;.set	volatile 
	ld.h	[%r11],%r10	; 	xld.h	[%r11],%r10 
	;.set	novolatile 
 
	.loc	236 
	ext	0x3fc		; 	xand	%r14,%r14,0x0000ff00 
	and	%r14,0x0 
	srl	%r14,0x8	; 	xsrl	%r14,8 
	;.set	volatile 
	ld.h	[%r11],%r14	; 	xld.h	[%r11],%r14 
	;.set	novolatile 
 
	.loc	238 
	bclr	[%r12],0x5	; 	xbclr	[%r12],0x5 
 
	.loc	241 
	ld.w	%r11,0x0 
	ext	0x80		; 	xld.w	%r13,0x04000000		; 67108864 
	ext	0x0 
	ld.w	%r13,0x0 
	ext	0x20		; 	xld.w	%r12,0x0000083f		; 2111 
	ld.w	%r12,0x3f 
__LX27:				; __L27: 
 
	.loc	244 
	ld.uh	%r10,%r11 
	ld.w	%r4,%r15 
	add	%r4,%r10 
	ld.w	%r10,%r4 
	;.set	volatile 
	ld.ub	%r10,[%r10]	; 	xld.ub	%r10,[%r10] 
	;.set	novolatile 
	;.set	volatile 
	ld.b	[%r13],%r10	; 	xld.b	[%r13],%r10 
	;.set	novolatile 
 
	.loc	241 
	add	%r11,0x1	; 	xadd	%r11,%r11,1 
	ld.uh	%r10,%r11 
	cmp	%r10,%r12 
	jrule	__LX27		; 	xjrule	__L27 
 
	.loc	248 
	ext	0x0		; 	xld.w	%r11,0x000402d9		; 262873 
	ext	0x100b 
	ld.w	%r11,0x19 
	bset	[%r11],0x4	; 	xbset	[%r11],0x4 
 
	.loc	249 
	ext	0x80		; 	xld.w	%r12,0x04000004		; 67108868 
	ext	0x0 
	ld.w	%r12,0x4 
	ld.w	%r10,0x10	; 	xld.w	%r10,0x00000010		; 16 
	;.set	volatile 
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10 
	;.set	novolatile 
 
	.loc	250 
	bclr	[%r11],0x4	; 	xbclr	[%r11],0x4 
 
	.loc	252 
; APP 
	nop 
; NO_APP 
 
	.loc	253 
; APP 
	nop 
; NO_APP 
 
	.loc	254 
; APP 
	nop 
; NO_APP 
 
	.loc	255 
; APP 
	nop 
; NO_APP 
 
	.loc	256 
; APP 
	nop 
; NO_APP 
 
	.loc	257 
; APP 
	nop 
; NO_APP 
 
	.loc	258 
; APP 
	nop 
; NO_APP 
 
	.loc	259 
; APP 
	nop 
; NO_APP 
 
	.loc	260 
; APP 
	nop 
; NO_APP 
 
	.loc	261 
; APP 
	nop 
; NO_APP 
 
	.loc	262 
; APP 
	nop 
; NO_APP 
 
	.loc	263 
; APP 
	nop 
; NO_APP 
 
	.loc	264 
; APP 
	nop 
; NO_APP 
 
	.loc	265 
; APP 
	nop 
; NO_APP 
 
	.loc	266 
; APP 
	nop 
; NO_APP 
 
	.loc	267 
; APP 
	nop 
; NO_APP 
 
	.loc	268 
; APP 
	nop 
; NO_APP 
 
	.loc	269 
; APP 
	nop 
; NO_APP 
 
	.loc	270 
; APP 
	nop 
; NO_APP 
 
	.loc	271 
; APP 
	nop 
; NO_APP 
 
	.loc	272 
; APP 
	nop 
; NO_APP 
 
	.loc	274 
	ext	0x6		; 	xld.w	%r12,0x00300f46		; 3149638 
	ext	0x3d 
	ld.w	%r12,0x6 
	ext	0x0		; 	xld.w	%r11,0x00000020		; 32 
	ld.w	%r11,0x20 
__LX31:				; __L31: 
 
	.loc	275 
	;.set	volatile 
	ld.ub	%r10,[%r12]	; 	xld.ub	%r10,[%r12] 
	;.set	novolatile 
	and	%r10,%r11 
	ld.ub	%r10,%r10 
	cmp	%r10,0x0 
	jreq	__LX31		; 	xjreq	__L31 
 
	.loc	277 
	ext	0x0		; 	xld.w	%r11,0x000402d9		; 262873 
	ext	0x100b 
	ld.w	%r11,0x19 
	bset	[%r11],0x4	; 	xbset	[%r11],0x4 
 
	.loc	278 
	ext	0x80		; 	xld.w	%r12,0x04000004		; 67108868 
	ext	0x0 
	ld.w	%r12,0x4 
	ext	0x1		; 	xld.w	%r10,0x00000070		; 112 
	ld.w	%r10,0x30 
	;.set	volatile 
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10 
	;.set	novolatile 
 
	.loc	279 
	bclr	[%r11],0x4	; 	xbclr	[%r11],0x4 
 
	.loc	280 
	ext	0x80		; 	xld.w	%r10,0x04000000		; 67108864 
	ext	0x0 
	ld.w	%r10,0x0 
	;.set	volatile 
	ld.ub	%r10,[%r10]	; 	xld.ub	%r10,[%r10] 
	;.set	novolatile 
	ld.w	%r12,%r10 
	and	%r12,0x1	; 	xand	%r12,%r12,0x00000001 
	jrne	__LX33		; 	xjrne	__L33 
 
	.loc	285 
	ext	0x6		; 	xld.w	%r11,0x00300022		; 3145762 
	ext	0x0 
	ld.w	%r11,0x22 
	bset	[%r11],0x1	; 	xbset	[%r11],0x1 
 
	.loc	286 
	ld.w	%r10,%r12 
	jp	__LX35		; 	xjp	__L35 
__LX33:				; __L33: 
 
	.loc	282 
	ext	0x6		; 	xld.w	%r11,0x00300022		; 3145762 
	ext	0x0 
	ld.w	%r11,0x22 
	bset	[%r11],0x1	; 	xbset	[%r11],0x1 
 
	.loc	283 
	ld.w	%r10,0x3f	; 	xld.w	%r10,-1			; 0xffffffff 
__LX35:				; __L35: 
 
	.loc	290 
	.def	bend,	scl	110,	type	0x0,	endef 
	ret 
	.def	end,	scl	111,	type	0x0,	endef 
	.align	1 
	.def	nand_fls_read_page,	val	nand_fls_read_page,	scl	2,	type	0x24,	endef 
	.global	nand_fls_read_page 
 
	.loc	294 
	.def	ent,	scl	101,	type	0x0,	endef 
nand_fls_read_page: 
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0 
;	.mask	0x80000000,-4 
;	.fmask	0x00000000,0 
	ld.w	%r4,%r12 
	.def	data,	val	4,	scl	17,	type	0x1c,	endef 
	.def	page_num,	val	13,	scl	17,	type	0xe,	endef 
	.def	block_num,	val	14,	scl	17,	type	0xe,	endef 
 
	.loc	295 
	.def	begin,	scl	100,	type	0x0,	endef 
	.def	i,	val	12,	scl	4,	type	0xd,	endef 
 
	.loc	298 
	ext	0x6		; 	xld.w	%r11,0x00300022		; 3145762 
	ext	0x0 
	ld.w	%r11,0x22 
	bclr	[%r11],0x1	; 	xbclr	[%r11],0x1 
 
	.loc	299 
; APP 
	nop 
; NO_APP 
 
	.loc	302 
	ext	0x0		; 	xld.w	%r11,0x000402d9		; 262873 
	ext	0x100b 
	ld.w	%r11,0x19 
	bset	[%r11],0x4	; 	xbset	[%r11],0x4 
 
	.loc	303 
	ext	0x80		; 	xld.w	%r15,0x04000004		; 67108868 
	ext	0x0 
	ld.w	%r15,0x4 
	ld.w	%r5,0x0 
	;.set	volatile 
	ld.b	[%r15],%r5	; 	xld.b	[%r15],%r5 
	;.set	novolatile 
 
	.loc	304 
	bclr	[%r11],0x4	; 	xbclr	[%r11],0x4 
 
	.loc	307 
	bset	[%r11],0x5	; 	xbset	[%r11],0x5 
 
	.loc	309 
	ext	0x80		; 	xld.w	%r12,0x04000008		; 67108872 
	ext	0x0 
	ld.w	%r12,0x8 
	ld.w	%r5,0x0 
	;.set	volatile 
	ld.h	[%r12],%r5	; 	xld.h	[%r12],%r5 
	;.set	novolatile 
 
	.loc	311 
	;.set	volatile 
	ld.h	[%r12],%r5	; 	xld.h	[%r12],%r5 
	;.set	novolatile 
 
	.loc	313 
	sll	%r14,0x6	; 	xsll	%r14,6 
	add	%r14,%r13 
	ld.w	%r10,%r14 
	ext	0x3		; 	xand	%r10,%r10,0x000000ff 
	and	%r10,0x3f 
	;.set	volatile 
	ld.h	[%r12],%r10	; 	xld.h	[%r12],%r10 
	;.set	novolatile 
 
	.loc	315 
	ext	0x3fc		; 	xand	%r14,%r14,0x0000ff00 
	and	%r14,0x0 
	srl	%r14,0x8	; 	xsrl	%r14,8 
	;.set	volatile 
	ld.h	[%r12],%r14	; 	xld.h	[%r12],%r14 
	;.set	novolatile 
 
	.loc	317 
	bclr	[%r11],0x5	; 	xbclr	[%r11],0x5 
 
	.loc	320 
	bset	[%r11],0x4	; 	xbset	[%r11],0x4 
 
	.loc	321 
	ext	0x0		; 	xld.w	%r10,0x00000030		; 48 
	ld.w	%r10,0x30 
	;.set	volatile 
	ld.b	[%r15],%r10	; 	xld.b	[%r15],%r10 
	;.set	novolatile 
 
	.loc	322 
	bclr	[%r11],0x4	; 	xbclr	[%r11],0x4 
 
	.loc	323 
; APP 
	nop 
; NO_APP 
 
	.loc	324 
; APP 
	nop 
; NO_APP 
 
	.loc	325 
; APP 
	nop 
; NO_APP 
 
	.loc	326 
; APP 
	nop 
; NO_APP 
 
	.loc	327 
; APP 
	nop 
; NO_APP 
 
	.loc	328 
; APP 
	nop 
; NO_APP 
 
	.loc	329 
; APP 
	nop 
; NO_APP 
 
	.loc	330 
; APP 
	nop 
; NO_APP 
 
	.loc	331 
; APP 
	nop 
; NO_APP 
 
	.loc	332 
; APP 
	nop 
; NO_APP 
 
	.loc	333 
; APP 
	nop 
; NO_APP 
 
	.loc	334 
; APP 
	nop 
; NO_APP 
 
	.loc	335 
; APP 
	nop 
; NO_APP 
 
	.loc	336 
; APP 
	nop 
; NO_APP 
 
	.loc	337 
; APP 
	nop 
; NO_APP 
 
	.loc	338 
; APP 
	nop 
; NO_APP 
 
	.loc	339 
; APP 
	nop 
; NO_APP 
 
	.loc	340 
; APP 
	nop 
; NO_APP 
 
	.loc	341 
; APP 
	nop 
; NO_APP 
 
	.loc	342 
	ext	0x6		; 	xld.w	%r12,0x00300f46		; 3149638 
	ext	0x3d 
	ld.w	%r12,0x6 
	ext	0x0		; 	xld.w	%r11,0x00000020		; 32 
	ld.w	%r11,0x20 
__LX39:				; __L39: 
 
	.loc	343 
	;.set	volatile 
	ld.ub	%r10,[%r12]	; 	xld.ub	%r10,[%r12] 
	;.set	novolatile 
	and	%r10,%r11 
	ld.ub	%r10,%r10 
	cmp	%r10,0x0 
	jreq	__LX39		; 	xjreq	__L39 
 
	.loc	344 
; APP 
	nop 
; NO_APP 
 
	.loc	345 
; APP 
	nop 
; NO_APP 
 
	.loc	346 
; APP 
	nop 
; NO_APP 
 
	.loc	347 
; APP 
	nop 
; NO_APP 
 
	.loc	348 
; APP 
	nop 
; NO_APP 
 
	.loc	349 
	ld.w	%r12,0x0 
	ext	0x80		; 	xld.w	%r14,0x04000000		; 67108864 
	ext	0x0 
	ld.w	%r14,0x0 
	ext	0x20		; 	xld.w	%r13,0x0000083f		; 2111 
	ld.w	%r13,0x3f 
__LX44:				; __L44: 
 
	.loc	350 
	ld.uh	%r10,%r12 
	ld.w	%r5,%r4 
	add	%r5,%r10 
	ld.w	%r10,%r5 
	;.set	volatile 
	ld.ub	%r11,[%r14]	; 	xld.ub	%r11,[%r14] 
	;.set	novolatile 
	ld.b	[%r10],%r11	; 	xld.b	[%r10],%r11 
 
	.loc	349 
	add	%r12,0x1	; 	xadd	%r12,%r12,1 
	ld.uh	%r10,%r12 
	cmp	%r10,%r13 
	jrule	__LX44		; 	xjrule	__L44 
 
	.loc	352 
	ext	0x6		; 	xld.w	%r11,0x00300022		; 3145762 
	ext	0x0 
	ld.w	%r11,0x22 
	bset	[%r11],0x1	; 	xbset	[%r11],0x1 
 
	.loc	353 
; APP 
	nop 
; NO_APP 
 
	.loc	354 
	ext	0x8		; 	xld.w	%r10,0x00000200		; 512 
	ld.w	%r10,0x0 
 
	.loc	356 
	.def	bend,	scl	110,	type	0x0,	endef 
	ret 
	.def	end,	scl	111,	type	0x0,	endef 
	.align	1 
	.def	nand_fls_tst_all,	val	nand_fls_tst_all,	scl	2,	type	0x21,	endef 
	.global	nand_fls_tst_all 
 
	.loc	361 
	.def	ent,	scl	101,	type	0x0,	endef 
nand_fls_tst_all: 
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0 
;	.mask	0x800f0000,-4 
;	.fmask	0x00000000,0 
	pushn	%r3 
 
	.loc	362 
	.def	begin,	scl	100,	type	0x0,	endef 
	.def	i,	val	0,	scl	4,	type	0x4,	endef 
	.def	k,	val	11,	scl	4,	type	0x4,	endef 
	.def	j,	val	1,	scl	4,	type	0x4,	endef 
 
	.loc	365 
	ext	nand_fls_init@rm	; 	xcall	nand_fls_init 
	call	nand_fls_init@rl 
 
	.loc	369 
	ext	nand_fls_Reset@rm	; 	xcall	nand_fls_Reset 
	call	nand_fls_Reset@rl 
 
	.loc	370 
	ld.w	%r0,0x0 
__LX50:				; __L50: 
 
	.loc	371 
	ld.w	%r12,%r0 
	ext	nand_fls_erase_block@rm	; 	xcall	nand_fls_erase_block 
	call	nand_fls_erase_block@rl 
	cmp	%r10,0x1	; 	xcmp	%r10,1 
	jreq	__LX74		; 	xjreq	__L74 
 
	.loc	370 
	add	%r0,0x1		; 	xadd	%r0,%r0,1 
	ext	0xf		; 	xcmp	%r0,1023 
	cmp	%r0,0x3f 
	jrle	__LX50		; 	xjrle	__L50 
 
	.loc	379 
	ld.w	%r0,0x0 
 
	.loc	380 
	ld.w	%r1,%r0 
	ext	Test_Nand_Fls_Buf+0x0@h	; 	xld.w	%r2,Test_Nand_Fls_Buf 
	ext	Test_Nand_Fls_Buf+0x0@m 
	ld.w	%r2,Test_Nand_Fls_Buf+0x0@l 
__LX57:				; __L57: 
 
	.loc	381 
	.def	begin,	scl	100,	type	0x0,	endef 
	ld.w	%r12,%r2 
	ld.w	%r13,%r1 
	ext	0x21		; 	xld.w	%r14,0x00000840		; 2112 
	ld.w	%r14,0x0 
	ext	memset@rh	; 	xcall	memset 
	ext	memset@rm 
	call	memset@rl 
 
	.loc	382 
	add	%r1,0x1		; 	xadd	%r1,%r1,1 
 
	.loc	383 
	ld.w	%r12,%r2 
	ld.w	%r13,%r0 
	ext	0x10		; 	xld.w	%r14,0x00000400		; 1024 
	ld.w	%r14,0x0 
	ext	nand_fls_write_page@rm	; 	xcall	nand_fls_write_page 
	call	nand_fls_write_page@rl 
	cmp	%r10,0x1	; 	xcmp	%r10,1 
	jreq	__LX75		; 	xjreq	__L75 
 
	.loc	387 
	ext	Test_Nand_Fls_Buf+0x0@h	; 	xld.w	%r12,Test_Nand_Fls_Buf 
	ext	Test_Nand_Fls_Buf+0x0@m 
	ld.w	%r12,Test_Nand_Fls_Buf+0x0@l 
	ld.w	%r13,%r0 
	ext	0x10		; 	xld.w	%r14,0x00000400		; 1024 
	ld.w	%r14,0x0 
	ext	nand_fls_read_page@rm	; 	xcall	nand_fls_read_page 
	call	nand_fls_read_page@rl 
 
	.loc	388 
	.def	bend,	scl	110,	type	0x0,	endef 
 
	.loc	380 
	add	%r0,0x1		; 	xadd	%r0,%r0,1 
	ext	0x0		; 	xcmp	%r0,63 
	cmp	%r0,0x3f 
	jrle	__LX57		; 	xjrle	__L57 
 
	.loc	391 
	ld.w	%r0,0x0 
 
	.loc	392 
	ld.w	%r1,%r0 
	ext	Test_Nand_Fls_Buf+0x0@h	; 	xld.w	%r3,Test_Nand_Fls_Buf 
	ext	Test_Nand_Fls_Buf+0x0@m 
	ld.w	%r3,Test_Nand_Fls_Buf+0x0@l 
	ext	0x20		; 	xld.w	%r2,0x0000083f		; 2111 
	ld.w	%r2,0x3f 
__LX64:				; __L64: 
 
	.loc	393 
	.def	begin,	scl	100,	type	0x0,	endef 
	ld.w	%r12,%r3 
	ext	0x1		; 	xadd	%r13,%r0,1 
	add	%r13,%r0 
	ext	0x21		; 	xld.w	%r14,0x00000840		; 2112 
	ld.w	%r14,0x0 
	ext	memset@rh	; 	xcall	memset 
	ext	memset@rm 
	call	memset@rl 
 
	.loc	395 
	ld.w	%r12,%r3 
	ld.w	%r13,%r0 
	ext	0x10		; 	xld.w	%r14,0x00000400		; 1024 
	ld.w	%r14,0x0 
	ext	nand_fls_read_page@rm	; 	xcall	nand_fls_read_page 
	call	nand_fls_read_page@rl 
 
	.loc	397 
	ld.w	%r11,0x0 
__LX68:				; __L68: 
 
	.loc	398 
	ext	Test_Nand_Fls_Buf+0x0@h	; 	xld.ub	%r10,[%r11+Test_Nand_Fls_Buf] 
	ext	Test_Nand_Fls_Buf+0x0@m 
	ld.w	%r9,Test_Nand_Fls_Buf+0x0@l 
	add	%r9,%r11 
	ld.ub	%r10,[%r9] 
	cmp	%r1,%r10 
	jrne	__LX70		; 	xjrne	__L70 
 
	.loc	397 
	add	%r11,0x1	; 	xadd	%r11,%r11,1 
	cmp	%r11,%r2 
	jrle	__LX68		; 	xjrle	__L68 
 
	.loc	402 
	add	%r1,0x1		; 	xadd	%r1,%r1,1 
 
	.loc	403 
	.def	bend,	scl	110,	type	0x0,	endef 
 
	.loc	392 
	add	%r0,0x1		; 	xadd	%r0,%r0,1 
	ext	0x0		; 	xcmp	%r0,63 
	cmp	%r0,0x3f 
	jrle	__LX64		; 	xjrle	__L64 
	.def	Tst_NFS_All,	val	__LX73,	scl	6,	type	0x0,	endef 
		; 	.def	Tst_NFS_All,	val	__L73,	scl	6,	type	0x0,	endef 
__LX73:				; __L73: 
 
	.loc	407 
; APP 
	nop 
; NO_APP 
 
	.loc	408 
	jp	__LX73		; 	xjp	__L73 
__LX74:				; __L74: 
 
	.loc	372 
; APP 
	nop 
; NO_APP 
 
	.loc	373 
 
	.loc	412 
	jp	__LX74		; 	xjp	__L74 
__LX75:				; __L75: 
 
	.loc	384 
; APP 
	nop 
; NO_APP 
 
	.loc	385 
 
	.loc	416 
	jp	__LX75		; 	xjp	__L75 
	.def	Read_Error,	val	__LX70,	scl	6,	type	0x0,	endef 
		; 	.def	Read_Error,	val	__L70,	scl	6,	type	0x0,	endef 
__LX70:				; __L70: 
 
	.loc	419 
; APP 
	nop 
; NO_APP 
 
	.loc	420 
	jp	__LX70		; 	xjp	__L70 
 
	.loc	423 
	.def	bend,	scl	110,	type	0x0,	endef 
	popn	%r3 
	ret 
	.def	end,	scl	111,	type	0x0,	endef 
	.def	this_nand_fls_id,	val	this_nand_fls_id,	scl	2,	tag	_tag_nand_fls,	size	4,	type	0x8,	endef 
 
	.comm	this_nand_fls_id 4 
	.def	p_nand_fls_id,	val	p_nand_fls_id,	scl	2,	tag	_tag_nand_fls,	size	4,	type	0x18,	endef 
 
	.comm	p_nand_fls_id 4 
	.def	ret,	val	ret,	scl	2,	type	0xc,	endef 
 
	.comm	ret 1 
	.def	Test_Nand_Fls_Buf,	val	Test_Nand_Fls_Buf,	scl	2,	dim	2112,	size	2112,	type	0x3c,	endef 
 
	.comm	Test_Nand_Fls_Buf 2112 
 
	.endfile