wv.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 766 行
S
766 行
.file 1 "wv.c".section .mdebug.abi32.previous.section .text.wv_probe,"ax",@progbits.align 2.align 5.ent wv_probe.type wv_probe, @functionwv_probe:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolw $2,8($4)slt $2,$2,33bne $2,$0,$L12move $5,$0lw $4,4($4)li $2,119 # 0x77lbu $3,0($4)beq $3,$2,$L11nop$L8:$L12:j $31move $2,$5$L11:lbu $3,1($4)li $2,118 # 0x76bne $3,$2,$L12move $5,$0lbu $3,2($4)li $2,112 # 0x70bne $3,$2,$L12noplbu $3,3($4)li $2,107 # 0x6bbeq $3,$2,$L8li $5,100 # 0x64j $L12move $5,$0.set macro.set reorder.end wv_probe.section .text.wv_read_close,"ax",@progbits.align 2.align 5.ent wv_read_close.type wv_read_close, @functionwv_read_close:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacroj $31move $2,$0.set macro.set reorder.end wv_read_close.section .rodata.str1.4,"aMS",@progbits,1.align 2$LC0:.ascii "Incorrect block size %i\012\000".align 2$LC1:.ascii "Unsupported version %03X\012\000".align 2$LC2:.ascii "Floating point data is not supported\012\000".align 2$LC3:.ascii "Hybrid coding mode is not supported\012\000".align 2$LC4:.ascii "Unknown sampling rate\012\000".align 2$LC5:.ascii "Bits per sample differ, this block: %i, header block: %i".ascii "\012\000".align 2$LC6:.ascii "Channels differ, this block: %i, header block: %i\012\000".align 2$LC7:.ascii "Sampling rate differ, this block: %i, header block: %i\012".ascii "\000".section .text.wv_read_block_header,"ax",@progbits.align 2.align 5.ent wv_read_block_header.type wv_read_block_header, @functionwv_read_block_header:.frame $sp,48,$31 # vars= 0, regs= 6/0, args= 24, gp= 0.mask 0x801f0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-48sw $31,44($sp)sw $19,36($sp)sw $18,32($sp)sw $20,40($sp)sw $17,28($sp)sw $16,24($sp)lw $17,12($4)move $19,$4move $4,$5jal url_ftellmove $18,$5sw $3,52($17)sw $2,48($17)jal get_le32move $4,$18li $3,1802502144 # 0x6b700000ori $3,$3,0x7677beq $2,$3,$L48li $2,-1 # 0xffffffffffffffff$L18:lw $31,44($sp)lw $20,40($sp)lw $19,36($sp)lw $18,32($sp)lw $17,28($sp)lw $16,24($sp)j $31addiu $sp,$sp,48$L48:jal get_le32move $4,$18addiu $20,$2,-24move $7,$2li $2,983040 # 0xf0000ori $2,$2,0xfc01sltu $2,$20,$2beq $2,$0,$L49lui $6,%hi($LC0)sw $7,0($17)jal get_le16move $4,$18move $7,$2addiu $2,$2,-1026sltu $2,$2,15beq $2,$0,$L50lui $6,%hi($LC1)jal get_bytemove $4,$18jal get_bytemove $4,$18jal get_le32move $4,$18sw $2,20($17)jal get_le32move $4,$18addiu $16,$17,32move $4,$18move $5,$16sw $2,24($17)jal get_bufferli $6,12 # 0xclbu $3,7($16)lbu $4,6($16)lbu $5,4($16)sll $4,$4,16lbu $2,5($16)sll $3,$3,24or $3,$3,$4or $3,$3,$5sll $2,$2,8or $5,$2,$3andi $4,$5,0x80bne $4,$0,$L51sw $5,4($17)andi $2,$5,0x8bne $2,$0,$L52srl $3,$5,21lui $2,%hi(wv_rates)addiu $2,$2,%lo(wv_rates)andi $3,$3,0x3caddu $3,$3,$2lw $8,0($3)andi $4,$5,0x4li $9,2 # 0x2li $2,1 # 0x1li $3,-1 # 0xffffffffffffffffbeq $8,$3,$L53movn $9,$2,$4andi $2,$5,0x3lw $3,16($17)addiu $2,$2,1beq $3,$0,$L54sll $7,$2,3lw $2,12($17)beq $2,$0,$L55nop$L34:lw $2,8($17)beq $2,$0,$L56nop$L36:lw $2,4($17)beq $2,$0,$L38noplw $2,16($17)$L61:bne $7,$2,$L57move $5,$0lw $2,12($17)bne $9,$2,$L58noplw $2,8($17)bne $8,$2,$L59nop$L38:sw $20,0($17)lw $31,44($sp)lw $20,40($sp)lw $19,36($sp)lw $18,32($sp)lw $17,28($sp)lw $16,24($sp)move $2,$0j $31addiu $sp,$sp,48$L56:lw $2,4($17)$L62:beq $2,$0,$L38sw $8,8($17)j $L61lw $2,16($17)$L55:lw $2,8($17)$L63:bne $2,$0,$L36sw $9,12($17)j $L62lw $2,4($17)$L54:lw $2,12($17)bne $2,$0,$L34sw $7,16($17)j $L63lw $2,8($17)$L59:lui $6,%hi($LC7)move $4,$19addiu $6,$6,%lo($LC7)move $7,$8jal av_logsw $2,16($sp)j $L18li $2,-1 # 0xffffffffffffffff$L49:move $4,$19addiu $6,$6,%lo($LC0)jal av_logmove $5,$0j $L18li $2,-1 # 0xffffffffffffffff$L50:move $4,$19addiu $6,$6,%lo($LC1)jal av_logmove $5,$0j $L18li $2,-1 # 0xffffffffffffffff$L57:lui $6,%hi($LC5)move $4,$19addiu $6,$6,%lo($LC5)jal av_logsw $2,16($sp)j $L18li $2,-1 # 0xffffffffffffffff$L58:lui $6,%hi($LC6)move $4,$19addiu $6,$6,%lo($LC6)move $7,$9jal av_logsw $2,16($sp)j $L18li $2,-1 # 0xffffffffffffffff$L51:lui $6,%hi($LC2)move $4,$19addiu $6,$6,%lo($LC2)jal av_logmove $5,$0j $L18li $2,-1 # 0xffffffffffffffff$L52:lui $6,%hi($LC3)move $4,$19addiu $6,$6,%lo($LC3)jal av_logmove $5,$0j $L18li $2,-1 # 0xffffffffffffffff$L53:lui $6,%hi($LC4)move $4,$19addiu $6,$6,%lo($LC4)jal av_logmove $5,$0j $L18li $2,-1 # 0xffffffffffffffff.set macro.set reorder.end wv_read_block_header.section .text.wv_read_packet,"ax",@progbits.align 2.align 5.ent wv_read_packet.type wv_read_packet, @functionwv_read_packet:.frame $sp,64,$31 # vars= 0, regs= 5/0, args= 40, gp= 0.mask 0x800f0000,-8.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-64sw $17,44($sp)addiu $17,$4,16sw $19,52($sp)sw $18,48($sp)move $19,$4sw $31,56($sp)sw $16,40($sp)move $4,$17move $18,$5jal url_feoflw $16,12($19)bne $2,$0,$L81lw $31,56($sp)lw $2,28($16)bne $2,$0,$L77move $4,$19$L67:lw $5,0($16)move $4,$18jal av_new_packetaddiu $5,$5,12bltz $2,$L78addiu $5,$16,32lw $4,16($18)jal memcpyli $6,12 # 0xclw $5,16($18)lw $6,0($16)move $4,$17jal get_bufferaddiu $5,$5,12move $4,$2lw $2,0($16)bne $4,$2,$L79li $5,1 # 0x1addiu $4,$4,12sw $0,24($18)sw $5,28($16)sw $4,20($18)lw $2,24($16)move $3,$0sw $2,0($18)sw $3,4($18)lw $6,48($16)lw $7,52($16)lw $4,100($19)sw $2,16($sp)sw $3,20($sp)sw $5,32($sp)sw $0,24($sp)jal av_add_index_entrysw $0,28($sp)move $2,$0$L70:lw $31,56($sp)$L82:lw $19,52($sp)lw $18,48($sp)lw $17,44($sp)lw $16,40($sp)j $31addiu $sp,$sp,64$L77:jal wv_read_block_headermove $5,$17bgez $2,$L67li $2,-1 # 0xffffffffffffffffj $L82lw $31,56($sp)$L79:lw $2,36($18)bne $2,$0,$L80lw $31,56($sp)$L81:lw $19,52($sp)lw $18,48($sp)lw $17,44($sp)lw $16,40($sp)li $2,-5 # 0xfffffffffffffffbj $31addiu $sp,$sp,64$L78:lw $31,56($sp)lw $19,52($sp)lw $18,48($sp)lw $17,44($sp)lw $16,40($sp)li $2,-12 # 0xfffffffffffffff4j $31addiu $sp,$sp,64$L80:jal $2move $4,$18j $L70li $2,-5 # 0xfffffffffffffffb.set macro.set reorder.end wv_read_packet.globl __divdi3.section .text.wv_read_header,"ax",@progbits.align 2.align 5.ent wv_read_header.type wv_read_header, @functionwv_read_header:.frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0.mask 0x80070000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-32sw $17,20($sp)addiu $5,$4,16sw $31,28($sp)sw $18,24($sp)sw $16,16($sp)move $17,$4jal wv_read_block_headerlw $16,12($4)move $4,$17bgez $2,$L89move $5,$0$L84:li $4,-1 # 0xffffffffffffffff$L87:lw $31,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)move $2,$4j $31addiu $sp,$sp,32$L89:jal av_new_streamsw $0,28($16)move $18,$2move $4,$2li $5,64 # 0x40beq $2,$0,$L84li $6,1 # 0x1lw $3,8($2)lw $7,12($16)li $2,1 # 0x1sw $7,68($3)lw $8,8($16)sw $2,224($3)li $2,65536 # 0x10000sw $8,64($3)ori $2,$2,0x501csw $2,228($3)lw $2,16($16)sw $2,392($3)jal av_set_pts_infolw $7,8($16)lw $3,20($16)lw $8,8($18)li $4,983040 # 0xf0000ori $4,$4,0x4240multu $3,$4lw $2,64($8)mflo $4move $6,$2sra $7,$2,31move $3,$0move $2,$0mfhi $5sw $2,3824($17)jal __divdi3sw $3,3828($17)move $4,$0sw $2,3832($17)j $L87sw $3,3836($17).set macro.set reorder.end wv_read_header.section .text.wv_read_seek,"ax",@progbits.align 2.align 5.ent wv_read_seek.type wv_read_seek, @functionwv_read_seek:.frame $sp,120,$31 # vars= 56, regs= 10/0, args= 24, gp= 0.mask 0xc0ff0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-120sll $5,$5,2sw $21,100($sp)sw $20,96($sp)sw $18,88($sp)sw $31,116($sp)sw $fp,112($sp)sw $23,108($sp)sw $22,104($sp)sw $19,92($sp)sw $17,84($sp)sw $16,80($sp)addu $5,$5,$4lw $16,100($5)lw $2,136($sp)move $18,$4sw $2,16($sp)move $4,$16move $20,$6move $21,$7jal av_index_search_timestamplw $17,12($18)bltz $2,$L91move $3,$2lw $4,144($16)sll $3,$3,3sll $2,$2,5subu $2,$2,$3addu $2,$2,$4lw $6,0($2)lw $7,4($2)li $3,1 # 0x1sw $3,28($17)addiu $4,$18,16jal url_fseeksw $0,16($sp)move $2,$0$L93:lw $31,116($sp)$L118:lw $fp,112($sp)lw $23,108($sp)lw $22,104($sp)lw $21,100($sp)lw $20,96($sp)lw $19,92($sp)lw $18,88($sp)lw $17,84($sp)lw $16,80($sp)j $31addiu $sp,$sp,120$L91:bltz $21,$L93li $2,-1 # 0xfffffffffffffffflw $3,3836($18)slt $2,$21,$3bne $2,$0,$L116addiu $fp,$18,16bne $3,$21,$L93li $2,-1 # 0xfffffffffffffffflw $2,3832($18)sltu $2,$20,$2beq $2,$0,$L93li $2,-1 # 0xffffffffffffffffaddiu $fp,$18,16$L116:jal url_ftellmove $4,$fpmove $22,$2move $23,$3addiu $19,$sp,24$L113:move $4,$18$L117:jal av_read_framemove $5,$19bltz $2,$L108move $4,$19lw $2,60($sp)lw $16,24($sp)beq $2,$0,$L102lw $17,28($sp)jal $2nop$L102:slt $2,$17,$21bne $2,$0,$L113sltu $3,$16,$20bne $17,$21,$L93move $2,$0bne $3,$0,$L117move $4,$18j $L118lw $31,116($sp)$L108:move $4,$fpmove $6,$22move $7,$23jal url_fseeksw $0,16($sp)j $L93li $2,-1 # 0xffffffffffffffff.set macro.set reorder.end wv_read_seek.globl wv_demuxer.section .rodata.str1.4.align 2$LC8:.ascii "wv\000".align 2$LC9:.ascii "WavPack\000".data.align 2.type wv_demuxer, @object.size wv_demuxer, 64wv_demuxer:.word $LC8.word $LC9.word 56.word wv_probe.word wv_read_header.word wv_read_packet.word wv_read_close.word wv_read_seek.space 32.rdata.align 2.type wv_rates, @object.size wv_rates, 64wv_rates:.word 6000.word 8000.word 9600.word 11025.word 12000.word 16000.word 22050.word 24000.word 32000.word 44100.word 48000.word 64000.word 88200.word 96000.word 192000.word -1.ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?