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