   1              		.file	"mt25ql01gbbb.c"
   2              		.option nopic
   3              		.attribute arch, "rv32i2p0_m2p0"
   4              		.attribute unaligned_access, 0
   5              		.attribute stack_align, 16
   6              		.text
   7              		.section	.text.wait_ready_erase,"ax",@progbits
   8              		.align	2
  10              	wait_ready_erase:
  11 0000 130101FE 		addi	sp,sp,-32
  12 0004 93070007 		li	a5,112
  13 0008 232C8100 		sw	s0,24(sp)
  14 000c 232E1100 		sw	ra,28(sp)
  15 0010 A307F100 		sb	a5,15(sp)
  16 0014 37040000 		lui	s0,%hi(g_flash_core_spi)
  17              	.L2:
  18 0018 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
  19 001c 13071000 		li	a4,1
  20 0020 9306E100 		addi	a3,sp,14
  21 0024 13061000 		li	a2,1
  22 0028 9305F100 		addi	a1,sp,15
  23 002c 97000000 		call	SPI_transfer_block
  23      E7800000 
  24 0034 0345E100 		lbu	a0,14(sp)
  25 0038 93178501 		slli	a5,a0,24
  26 003c 93D78741 		srai	a5,a5,24
  27 0040 E3DC07FC 		bge	a5,zero,.L2
  28 0044 8320C101 		lw	ra,28(sp)
  29 0048 03248101 		lw	s0,24(sp)
  30 004c 13010102 		addi	sp,sp,32
  31 0050 67800000 		jr	ra
  33              		.section	.text.wait_ready,"ax",@progbits
  34              		.align	2
  36              	wait_ready:
  37 0000 130101FE 		addi	sp,sp,-32
  38 0004 93075000 		li	a5,5
  39 0008 232C8100 		sw	s0,24(sp)
  40 000c 232E1100 		sw	ra,28(sp)
  41 0010 A307F100 		sb	a5,15(sp)
  42 0014 37040000 		lui	s0,%hi(g_flash_core_spi)
  43              	.L7:
  44 0018 13071000 		li	a4,1
  45 001c 9306E100 		addi	a3,sp,14
  46 0020 13061000 		li	a2,1
  47 0024 9305F100 		addi	a1,sp,15
  48 0028 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
  49 002c 97000000 		call	SPI_transfer_block
  49      E7800000 
  50 0034 8347E100 		lbu	a5,14(sp)
  51 0038 93F71700 		andi	a5,a5,1
  52 003c 2307F100 		sb	a5,14(sp)
  53 0040 E39C07FC 		bne	a5,zero,.L7
  54 0044 8320C101 		lw	ra,28(sp)
  55 0048 03248101 		lw	s0,24(sp)
  56 004c 13010102 		addi	sp,sp,32
  57 0050 67800000 		jr	ra
  59              		.section	.text.FLASH_init,"ax",@progbits
  60              		.align	2
  61              		.globl	FLASH_init
  63              	FLASH_init:
  64 0000 130101FF 		addi	sp,sp,-16
  65 0004 23248100 		sw	s0,8(sp)
  66 0008 37040000 		lui	s0,%hi(g_flash_core_spi)
  67 000c 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
  68 0010 13060002 		li	a2,32
  69 0014 B7050076 		li	a1,1979711488
  70 0018 23261100 		sw	ra,12(sp)
  71 001c 97000000 		call	SPI_init
  71      E7800000 
  72 0024 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
  73 0028 03248100 		lw	s0,8(sp)
  74 002c 8320C100 		lw	ra,12(sp)
  75 0030 13010101 		addi	sp,sp,16
  76 0034 17030000 		tail	SPI_configure_master_mode
  76      67000300 
  78              		.section	.text.FLASH_read_device_id,"ax",@progbits
  79              		.align	2
  80              		.globl	FLASH_read_device_id
  82              	FLASH_read_device_id:
  83 0000 130101FE 		addi	sp,sp,-32
  84 0004 232C8100 		sw	s0,24(sp)
  85 0008 37040000 		lui	s0,%hi(g_flash_core_spi)
  86 000c 232A9100 		sw	s1,20(sp)
  87 0010 23282101 		sw	s2,16(sp)
  88 0014 9307F0F9 		li	a5,-97
  89 0018 13090500 		mv	s2,a0
  90 001c 93840500 		mv	s1,a1
  91 0020 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
  92 0024 93050000 		li	a1,0
  93 0028 232E1100 		sw	ra,28(sp)
  94 002c A305F100 		sb	a5,11(sp)
  95 0030 97000000 		call	SPI_set_slave_select
  95      E7800000 
  96 0038 9306C100 		addi	a3,sp,12
  97 003c 9305B100 		addi	a1,sp,11
  98 0040 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
  99 0044 13073000 		li	a4,3
 100 0048 13061000 		li	a2,1
 101 004c 97000000 		call	SPI_transfer_block
 101      E7800000 
 102 0054 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 103 0058 93050000 		li	a1,0
 104 005c 97000000 		call	SPI_clear_slave_select
 104      E7800000 
 105 0064 8347C100 		lbu	a5,12(sp)
 106 0068 2300F900 		sb	a5,0(s2)
 107 006c 8347D100 		lbu	a5,13(sp)
 108 0070 2380F400 		sb	a5,0(s1)
 109 0074 8320C101 		lw	ra,28(sp)
 110 0078 03248101 		lw	s0,24(sp)
 111 007c 83244101 		lw	s1,20(sp)
 112 0080 03290101 		lw	s2,16(sp)
 113 0084 13010102 		addi	sp,sp,32
 114 0088 67800000 		jr	ra
 116              		.section	.text.FLASH_read,"ax",@progbits
 117              		.align	2
 118              		.globl	FLASH_read
 120              	FLASH_read:
 121 0000 13170501 		slli	a4,a0,16
 122 0004 130101FE 		addi	sp,sp,-32
 123 0008 13570701 		srli	a4,a4,16
 124 000c 232C8100 		sw	s0,24(sp)
 125 0010 13188500 		slli	a6,a0,8
 126 0014 37040000 		lui	s0,%hi(g_flash_core_spi)
 127 0018 13578700 		srli	a4,a4,8
 128 001c 232A9100 		sw	s1,20(sp)
 129 0020 93570501 		srli	a5,a0,16
 130 0024 3368E800 		or	a6,a6,a4
 131 0028 93840500 		mv	s1,a1
 132 002c 13073000 		li	a4,3
 133 0030 93050000 		li	a1,0
 134 0034 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 135 0038 232E1100 		sw	ra,28(sp)
 136 003c 23282101 		sw	s2,16(sp)
 137 0040 A304F100 		sb	a5,9(sp)
 138 0044 23150101 		sh	a6,10(sp)
 139 0048 13090600 		mv	s2,a2
 140 004c 2304E100 		sb	a4,8(sp)
 141 0050 23160100 		sh	zero,12(sp)
 142 0054 97000000 		call	SPI_set_slave_select
 142      E7800000 
 143 005c 97000000 		call	wait_ready_erase
 143      E7800000 
 144 0064 97000000 		call	wait_ready
 144      E7800000 
 145 006c 13170901 		slli	a4,s2,16
 146 0070 93058100 		addi	a1,sp,8
 147 0074 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 148 0078 93860400 		mv	a3,s1
 149 007c 13570701 		srli	a4,a4,16
 150 0080 13064000 		li	a2,4
 151 0084 97000000 		call	SPI_transfer_block
 151      E7800000 
 152 008c 97000000 		call	wait_ready
 152      E7800000 
 153 0094 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 154 0098 93050000 		li	a1,0
 155 009c 97000000 		call	SPI_clear_slave_select
 155      E7800000 
 156 00a4 8320C101 		lw	ra,28(sp)
 157 00a8 03248101 		lw	s0,24(sp)
 158 00ac 83244101 		lw	s1,20(sp)
 159 00b0 03290101 		lw	s2,16(sp)
 160 00b4 13010102 		addi	sp,sp,32
 161 00b8 67800000 		jr	ra
 163              		.section	.text.FLASH_global_unprotect,"ax",@progbits
 164              		.align	2
 165              		.globl	FLASH_global_unprotect
 167              	FLASH_global_unprotect:
 168 0000 130101FE 		addi	sp,sp,-32
 169 0004 232C8100 		sw	s0,24(sp)
 170 0008 37040000 		lui	s0,%hi(g_flash_core_spi)
 171 000c 93076000 		li	a5,6
 172 0010 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 173 0014 93050000 		li	a1,0
 174 0018 232E1100 		sw	ra,28(sp)
 175 001c 2306F100 		sb	a5,12(sp)
 176 0020 97000000 		call	SPI_set_slave_select
 176      E7800000 
 177 0028 97000000 		call	wait_ready
 177      E7800000 
 178 0030 9305C100 		addi	a1,sp,12
 179 0034 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 180 0038 13070000 		li	a4,0
 181 003c 93060000 		li	a3,0
 182 0040 13061000 		li	a2,1
 183 0044 97000000 		call	SPI_transfer_block
 183      E7800000 
 184 004c 93071000 		li	a5,1
 185 0050 2316F100 		sh	a5,12(sp)
 186 0054 97000000 		call	wait_ready
 186      E7800000 
 187 005c 9305C100 		addi	a1,sp,12
 188 0060 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 189 0064 13070000 		li	a4,0
 190 0068 93060000 		li	a3,0
 191 006c 13062000 		li	a2,2
 192 0070 97000000 		call	SPI_transfer_block
 192      E7800000 
 193 0078 97000000 		call	wait_ready
 193      E7800000 
 194 0080 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 195 0084 93050000 		li	a1,0
 196 0088 97000000 		call	SPI_clear_slave_select
 196      E7800000 
 197 0090 8320C101 		lw	ra,28(sp)
 198 0094 03248101 		lw	s0,24(sp)
 199 0098 13010102 		addi	sp,sp,32
 200 009c 67800000 		jr	ra
 202              		.section	.text.FLASH_chip_erase,"ax",@progbits
 203              		.align	2
 204              		.globl	FLASH_chip_erase
 206              	FLASH_chip_erase:
 207 0000 130101FE 		addi	sp,sp,-32
 208 0004 232C8100 		sw	s0,24(sp)
 209 0008 37040000 		lui	s0,%hi(g_flash_core_spi)
 210 000c 93076000 		li	a5,6
 211 0010 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 212 0014 93050000 		li	a1,0
 213 0018 232E1100 		sw	ra,28(sp)
 214 001c A307F100 		sb	a5,15(sp)
 215 0020 97000000 		call	SPI_set_slave_select
 215      E7800000 
 216 0028 97000000 		call	wait_ready
 216      E7800000 
 217 0030 9305F100 		addi	a1,sp,15
 218 0034 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 219 0038 13070000 		li	a4,0
 220 003c 93060000 		li	a3,0
 221 0040 13061000 		li	a2,1
 222 0044 97000000 		call	SPI_transfer_block
 222      E7800000 
 223 004c 930740FC 		li	a5,-60
 224 0050 A307F100 		sb	a5,15(sp)
 225 0054 97000000 		call	wait_ready
 225      E7800000 
 226 005c 9305F100 		addi	a1,sp,15
 227 0060 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 228 0064 13070000 		li	a4,0
 229 0068 93060000 		li	a3,0
 230 006c 13061000 		li	a2,1
 231 0070 97000000 		call	SPI_transfer_block
 231      E7800000 
 232 0078 97000000 		call	wait_ready
 232      E7800000 
 233 0080 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 234 0084 93050000 		li	a1,0
 235 0088 97000000 		call	SPI_clear_slave_select
 235      E7800000 
 236 0090 8320C101 		lw	ra,28(sp)
 237 0094 03248101 		lw	s0,24(sp)
 238 0098 13010102 		addi	sp,sp,32
 239 009c 67800000 		jr	ra
 241              		.section	.text.FLASH_erase_4k_block,"ax",@progbits
 242              		.align	2
 243              		.globl	FLASH_erase_4k_block
 245              	FLASH_erase_4k_block:
 246 0000 130101FE 		addi	sp,sp,-32
 247 0004 232C8100 		sw	s0,24(sp)
 248 0008 232A9100 		sw	s1,20(sp)
 249 000c 37F4FFFF 		li	s0,-4096
 250 0010 B7040000 		lui	s1,%hi(g_flash_core_spi)
 251 0014 93076000 		li	a5,6
 252 0018 33748500 		and	s0,a0,s0
 253 001c 93050000 		li	a1,0
 254 0020 13850400 		addi	a0,s1,%lo(g_flash_core_spi)
 255 0024 232E1100 		sw	ra,28(sp)
 256 0028 2306F100 		sb	a5,12(sp)
 257 002c 97000000 		call	SPI_set_slave_select
 257      E7800000 
 258 0034 97000000 		call	wait_ready
 258      E7800000 
 259 003c 9305C100 		addi	a1,sp,12
 260 0040 93060000 		li	a3,0
 261 0044 13061000 		li	a2,1
 262 0048 13850400 		addi	a0,s1,%lo(g_flash_core_spi)
 263 004c 13070000 		li	a4,0
 264 0050 97000000 		call	SPI_transfer_block
 264      E7800000 
 265 0058 93570401 		srli	a5,s0,16
 266 005c 13070002 		li	a4,32
 267 0060 13548400 		srli	s0,s0,8
 268 0064 A306F100 		sb	a5,13(sp)
 269 0068 2306E100 		sb	a4,12(sp)
 270 006c 23078100 		sb	s0,14(sp)
 271 0070 A3070100 		sb	zero,15(sp)
 272 0074 97000000 		call	wait_ready
 272      E7800000 
 273 007c 97000000 		call	wait_ready_erase
 273      E7800000 
 274 0084 9305C100 		addi	a1,sp,12
 275 0088 13070000 		li	a4,0
 276 008c 93060000 		li	a3,0
 277 0090 13064000 		li	a2,4
 278 0094 13850400 		addi	a0,s1,%lo(g_flash_core_spi)
 279 0098 97000000 		call	SPI_transfer_block
 279      E7800000 
 280 00a0 97000000 		call	wait_ready
 280      E7800000 
 281 00a8 97000000 		call	wait_ready_erase
 281      E7800000 
 282 00b0 13850400 		addi	a0,s1,%lo(g_flash_core_spi)
 283 00b4 93050000 		li	a1,0
 284 00b8 97000000 		call	SPI_clear_slave_select
 284      E7800000 
 285 00c0 8320C101 		lw	ra,28(sp)
 286 00c4 03248101 		lw	s0,24(sp)
 287 00c8 83244101 		lw	s1,20(sp)
 288 00cc 13010102 		addi	sp,sp,32
 289 00d0 67800000 		jr	ra
 291              		.section	.text.FLASH_erase_64k_block,"ax",@progbits
 292              		.align	2
 293              		.globl	FLASH_erase_64k_block
 295              	FLASH_erase_64k_block:
 296 0000 130101FE 		addi	sp,sp,-32
 297 0004 232C8100 		sw	s0,24(sp)
 298 0008 37040000 		lui	s0,%hi(g_flash_core_spi)
 299 000c 232A9100 		sw	s1,20(sp)
 300 0010 93076000 		li	a5,6
 301 0014 93050000 		li	a1,0
 302 0018 93040500 		mv	s1,a0
 303 001c 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 304 0020 232E1100 		sw	ra,28(sp)
 305 0024 2306F100 		sb	a5,12(sp)
 306 0028 97000000 		call	SPI_set_slave_select
 306      E7800000 
 307 0030 97000000 		call	wait_ready
 307      E7800000 
 308 0038 9305C100 		addi	a1,sp,12
 309 003c 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 310 0040 13070000 		li	a4,0
 311 0044 93060000 		li	a3,0
 312 0048 13061000 		li	a2,1
 313 004c 97000000 		call	SPI_transfer_block
 313      E7800000 
 314 0054 930780FD 		li	a5,-40
 315 0058 93D40401 		srli	s1,s1,16
 316 005c 2306F100 		sb	a5,12(sp)
 317 0060 A3069100 		sb	s1,13(sp)
 318 0064 23170100 		sh	zero,14(sp)
 319 0068 97000000 		call	wait_ready
 319      E7800000 
 320 0070 9305C100 		addi	a1,sp,12
 321 0074 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 322 0078 13070000 		li	a4,0
 323 007c 93060000 		li	a3,0
 324 0080 13064000 		li	a2,4
 325 0084 97000000 		call	SPI_transfer_block
 325      E7800000 
 326 008c 97000000 		call	wait_ready
 326      E7800000 
 327 0094 13050400 		addi	a0,s0,%lo(g_flash_core_spi)
 328 0098 93050000 		li	a1,0
 329 009c 97000000 		call	SPI_clear_slave_select
 329      E7800000 
 330 00a4 8320C101 		lw	ra,28(sp)
 331 00a8 03248101 		lw	s0,24(sp)
 332 00ac 83244101 		lw	s1,20(sp)
 333 00b0 13010102 		addi	sp,sp,32
 334 00b4 67800000 		jr	ra
 336              		.section	.text.write_cmd_data,"ax",@progbits
 337              		.align	2
 338              		.globl	write_cmd_data
 340              	write_cmd_data:
 341 0000 130101DE 		addi	sp,sp,-544
 342 0004 13050600 		mv	a0,a2
 343 0008 3306E600 		add	a2,a2,a4
 344 000c 13160601 		slli	a2,a2,16
 345 0010 232E1120 		sw	ra,540(sp)
 346 0014 13560601 		srli	a2,a2,16
 347 0018 63060508 		beq	a0,zero,.L35
 348 001c 1303F5FF 		addi	t1,a0,-1
 349 0020 13130301 		slli	t1,t1,16
 350 0024 13880500 		mv	a6,a1
 351 0028 13530301 		srli	t1,t1,16
 352 002c 9305C100 		addi	a1,sp,12
 353 0030 9308D100 		addi	a7,sp,13
 354 0034 93870500 		mv	a5,a1
 355 0038 33836800 		add	t1,a7,t1
 356              	.L28:
 357 003c 83480800 		lbu	a7,0(a6)
 358 0040 93871700 		addi	a5,a5,1
 359 0044 13081800 		addi	a6,a6,1
 360 0048 A38F17FF 		sb	a7,-1(a5)
 361 004c E39867FE 		bne	a5,t1,.L28
 362              	.L29:
 363 0050 63080702 		beq	a4,zero,.L27
 364 0054 1307F7FF 		addi	a4,a4,-1
 365 0058 13170701 		slli	a4,a4,16
 366 005c 13881600 		addi	a6,a3,1
 367 0060 13570701 		srli	a4,a4,16
 368 0064 B387A500 		add	a5,a1,a0
 369 0068 3305E800 		add	a0,a6,a4
 370              	.L30:
 371 006c 03C70600 		lbu	a4,0(a3)
 372 0070 93871700 		addi	a5,a5,1
 373 0074 93861600 		addi	a3,a3,1
 374 0078 A38FE7FE 		sb	a4,-1(a5)
 375 007c E318D5FE 		bne	a0,a3,.L30
 376              	.L27:
 377 0080 37050000 		lui	a0,%hi(g_flash_core_spi)
 378 0084 13070000 		li	a4,0
 379 0088 93060000 		li	a3,0
 380 008c 13050500 		addi	a0,a0,%lo(g_flash_core_spi)
 381 0090 97000000 		call	SPI_transfer_block
 381      E7800000 
 382 0098 8320C121 		lw	ra,540(sp)
 383 009c 13010122 		addi	sp,sp,544
 384 00a0 67800000 		jr	ra
 385              	.L35:
 386 00a4 9305C100 		addi	a1,sp,12
 387 00a8 6FF09FFA 		j	.L29
 389              		.section	.text.FLASH_program,"ax",@progbits
 390              		.align	2
 391              		.globl	FLASH_program
 393              	FLASH_program:
 394 0000 130101FB 		addi	sp,sp,-80
 395 0004 232C4103 		sw	s4,56(sp)
 396 0008 370A0000 		lui	s4,%hi(g_flash_core_spi)
 397 000c 23248104 		sw	s0,72(sp)
 398 0010 23202105 		sw	s2,64(sp)
 399 0014 13040500 		mv	s0,a0
 400 0018 23248103 		sw	s8,40(sp)
 401 001c 13050A00 		addi	a0,s4,%lo(g_flash_core_spi)
 402 0020 13096000 		li	s2,6
 403 0024 138C0500 		mv	s8,a1
 404 0028 93050000 		li	a1,0
 405 002c 23261104 		sw	ra,76(sp)
 406 0030 23229104 		sw	s1,68(sp)
 407 0034 232A5103 		sw	s5,52(sp)
 408 0038 23286103 		sw	s6,48(sp)
 409 003c 930A0600 		mv	s5,a2
 410 0040 23267103 		sw	s7,44(sp)
 411 0044 232E3103 		sw	s3,60(sp)
 412 0048 23229103 		sw	s9,36(sp)
 413 004c 2320A103 		sw	s10,32(sp)
 414 0050 232EB101 		sw	s11,28(sp)
 415 0054 97000000 		call	SPI_set_slave_select
 415      E7800000 
 416 005c 23062101 		sb	s2,12(sp)
 417 0060 97000000 		call	wait_ready
 417      E7800000 
 418 0068 93060000 		li	a3,0
 419 006c 13061000 		li	a2,1
 420 0070 9305C100 		addi	a1,sp,12
 421 0074 13050A00 		addi	a0,s4,%lo(g_flash_core_spi)
 422 0078 13070000 		li	a4,0
 423 007c 93140401 		slli	s1,s0,16
 424 0080 97000000 		call	SPI_transfer_block
 424      E7800000 
 425 0088 93D40401 		srli	s1,s1,16
 426 008c 131B8400 		slli	s6,s0,8
 427 0090 93D78400 		srli	a5,s1,8
 428 0094 B367FB00 		or	a5,s6,a5
 429 0098 13079003 		li	a4,57
 430 009c 935B0401 		srli	s7,s0,16
 431 00a0 2317F100 		sh	a5,14(sp)
 432 00a4 2306E100 		sb	a4,12(sp)
 433 00a8 A3067101 		sb	s7,13(sp)
 434 00ac 97000000 		call	wait_ready
 434      E7800000 
 435 00b4 13070000 		li	a4,0
 436 00b8 93060000 		li	a3,0
 437 00bc 13064000 		li	a2,4
 438 00c0 9305C100 		addi	a1,sp,12
 439 00c4 13050A00 		addi	a0,s4,%lo(g_flash_core_spi)
 440 00c8 97000000 		call	SPI_transfer_block
 440      E7800000 
 441 00d0 97000000 		call	wait_ready_erase
 441      E7800000 
 442 00d8 23062101 		sb	s2,12(sp)
 443 00dc 97000000 		call	wait_ready
 443      E7800000 
 444 00e4 13070000 		li	a4,0
 445 00e8 93060000 		li	a3,0
 446 00ec 13061000 		li	a2,1
 447 00f0 9305C100 		addi	a1,sp,12
 448 00f4 13050A00 		addi	a0,s4,%lo(g_flash_core_spi)
 449 00f8 97000000 		call	SPI_transfer_block
 449      E7800000 
 450 0100 638A0A0A 		beq	s5,zero,.L37
 451 0104 93090000 		li	s3,0
 452 0108 930D0010 		li	s11,256
 453 010c 130D6000 		li	s10,6
 454 0110 930C2000 		li	s9,2
 455 0114 6F004001 		j	.L39
 456              	.L45:
 457 0118 93140401 		slli	s1,s0,16
 458 011c 935B0401 		srli	s7,s0,16
 459 0120 131B8400 		slli	s6,s0,8
 460 0124 93D40401 		srli	s1,s1,16
 461              	.L39:
 462 0128 97000000 		call	wait_ready_erase
 462      E7800000 
 463 0130 9377F40F 		andi	a5,s0,255
 464 0134 33893A41 		sub	s2,s5,s3
 465 0138 B387FD40 		sub	a5,s11,a5
 466 013c 63F42701 		bleu	s2,a5,.L38
 467 0140 13890700 		mv	s2,a5
 468              	.L38:
 469 0144 97000000 		call	wait_ready
 469      E7800000 
 470 014c 9305C100 		addi	a1,sp,12
 471 0150 13050A00 		addi	a0,s4,%lo(g_flash_core_spi)
 472 0154 13070000 		li	a4,0
 473 0158 93060000 		li	a3,0
 474 015c 13061000 		li	a2,1
 475 0160 2306A101 		sb	s10,12(sp)
 476 0164 97000000 		call	SPI_transfer_block
 476      E7800000 
 477 016c 97000000 		call	wait_ready
 477      E7800000 
 478 0174 93D48400 		srli	s1,s1,8
 479 0178 13170901 		slli	a4,s2,16
 480 017c 336B9B00 		or	s6,s6,s1
 481 0180 B3063C01 		add	a3,s8,s3
 482 0184 13570701 		srli	a4,a4,16
 483 0188 B3892901 		add	s3,s3,s2
 484 018c 13064000 		li	a2,4
 485 0190 9305C100 		addi	a1,sp,12
 486 0194 13050A00 		addi	a0,s4,%lo(g_flash_core_spi)
 487 0198 33042401 		add	s0,s0,s2
 488 019c A3067101 		sb	s7,13(sp)
 489 01a0 23069101 		sb	s9,12(sp)
 490 01a4 23176101 		sh	s6,14(sp)
 491 01a8 97000000 		call	write_cmd_data
 491      E7800000 
 492 01b0 E3E459F7 		bgtu	s5,s3,.L45
 493              	.L37:
 494 01b4 93074000 		li	a5,4
 495 01b8 2306F100 		sb	a5,12(sp)
 496 01bc 97000000 		call	wait_ready
 496      E7800000 
 497 01c4 9305C100 		addi	a1,sp,12
 498 01c8 13050A00 		addi	a0,s4,%lo(g_flash_core_spi)
 499 01cc 13070000 		li	a4,0
 500 01d0 93060000 		li	a3,0
 501 01d4 13061000 		li	a2,1
 502 01d8 97000000 		call	SPI_transfer_block
 502      E7800000 
 503 01e0 13050A00 		addi	a0,s4,%lo(g_flash_core_spi)
 504 01e4 93050000 		li	a1,0
 505 01e8 97000000 		call	SPI_clear_slave_select
 505      E7800000 
 506 01f0 8320C104 		lw	ra,76(sp)
 507 01f4 03248104 		lw	s0,72(sp)
 508 01f8 83244104 		lw	s1,68(sp)
 509 01fc 03290104 		lw	s2,64(sp)
 510 0200 8329C103 		lw	s3,60(sp)
 511 0204 032A8103 		lw	s4,56(sp)
 512 0208 832A4103 		lw	s5,52(sp)
 513 020c 032B0103 		lw	s6,48(sp)
 514 0210 832BC102 		lw	s7,44(sp)
 515 0214 032C8102 		lw	s8,40(sp)
 516 0218 832C4102 		lw	s9,36(sp)
 517 021c 032D0102 		lw	s10,32(sp)
 518 0220 832DC101 		lw	s11,28(sp)
 519 0224 13010105 		addi	sp,sp,80
 520 0228 67800000 		jr	ra
 522              		.section	.text.FLASH_get_status,"ax",@progbits
 523              		.align	2
 524              		.globl	FLASH_get_status
 526              	FLASH_get_status:
 527 0000 130101FE 		addi	sp,sp,-32
 528 0004 37050000 		lui	a0,%hi(g_flash_core_spi)
 529 0008 13050500 		addi	a0,a0,%lo(g_flash_core_spi)
 530 000c 9306E100 		addi	a3,sp,14
 531 0010 9305F100 		addi	a1,sp,15
 532 0014 93075000 		li	a5,5
 533 0018 13071000 		li	a4,1
 534 001c 13061000 		li	a2,1
 535 0020 232E1100 		sw	ra,28(sp)
 536 0024 A307F100 		sb	a5,15(sp)
 537 0028 97000000 		call	SPI_transfer_block
 537      E7800000 
 538 0030 8320C101 		lw	ra,28(sp)
 539 0034 0345E100 		lbu	a0,14(sp)
 540 0038 13010102 		addi	sp,sp,32
 541 003c 67800000 		jr	ra
 543              		.comm	g_flash_core_spi,76,4
 544              		.ident	"GCC: (xPack GNU RISC-V Embedded GCC (Microsemi SoftConsole build), 64-bit) 8.3.0"
DEFINED SYMBOLS
                            *ABS*:0000000000000000 mt25ql01gbbb.c
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:10     .text.wait_ready_erase:0000000000000000 wait_ready_erase
                            *COM*:000000000000004c g_flash_core_spi
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:36     .text.wait_ready:0000000000000000 wait_ready
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:63     .text.FLASH_init:0000000000000000 FLASH_init
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:82     .text.FLASH_read_device_id:0000000000000000 FLASH_read_device_id
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:120    .text.FLASH_read:0000000000000000 FLASH_read
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:167    .text.FLASH_global_unprotect:0000000000000000 FLASH_global_unprotect
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:206    .text.FLASH_chip_erase:0000000000000000 FLASH_chip_erase
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:245    .text.FLASH_erase_4k_block:0000000000000000 FLASH_erase_4k_block
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:295    .text.FLASH_erase_64k_block:0000000000000000 FLASH_erase_64k_block
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:340    .text.write_cmd_data:0000000000000000 write_cmd_data
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:393    .text.FLASH_program:0000000000000000 FLASH_program
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:526    .text.FLASH_get_status:0000000000000000 FLASH_get_status
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:17     .text.wait_ready_erase:0000000000000018 .L2
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:43     .text.wait_ready:0000000000000018 .L7
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:385    .text.write_cmd_data:00000000000000a4 .L35
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:356    .text.write_cmd_data:000000000000003c .L28
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:376    .text.write_cmd_data:0000000000000080 .L27
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:370    .text.write_cmd_data:000000000000006c .L30
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:362    .text.write_cmd_data:0000000000000050 .L29
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:493    .text.FLASH_program:00000000000001b4 .L37
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:461    .text.FLASH_program:0000000000000128 .L39
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:468    .text.FLASH_program:0000000000000144 .L38
C:\Users\i68629\AppData\Local\Temp\ccTFWxZK.s:456    .text.FLASH_program:0000000000000118 .L45

UNDEFINED SYMBOLS
SPI_transfer_block
SPI_init
SPI_configure_master_mode
SPI_set_slave_select
SPI_clear_slave_select
