wav.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 942 行
S
942 行
.file 1 "wav.c".section .mdebug.abi32.previous.section .text.wav_probe,"ax",@progbits.align 2.align 5.ent wav_probe.type wav_probe, @functionwav_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,$L2noplw $4,4($4)li $2,82 # 0x52lbu $3,0($4)beq $3,$2,$L15nop$L2:j $31move $2,$0$L15:lbu $3,1($4)li $2,73 # 0x49bne $3,$2,$L2noplbu $3,2($4)li $2,70 # 0x46bne $3,$2,$L2noplbu $2,3($4)bne $2,$3,$L2noplbu $3,8($4)li $2,87 # 0x57bne $3,$2,$L2noplbu $3,9($4)li $2,65 # 0x41bne $3,$2,$L2noplbu $3,10($4)li $2,86 # 0x56bne $3,$2,$L2noplbu $3,11($4)li $2,69 # 0x45bne $3,$2,$L2nopj $31li $2,100 # 0x64.set macro.set reorder.end wav_probe.section .text.wav_read_close,"ax",@progbits.align 2.align 5.ent wav_read_close.type wav_read_close, @functionwav_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 wav_read_close.section .text.wav_write_trailer,"ax",@progbits.align 2.align 5.ent wav_write_trailer.type wav_write_trailer, @functionwav_write_trailer:.frame $sp,56,$31 # vars= 0, regs= 7/0, args= 24, gp= 0.mask 0x803f0000,-8.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-56sw $18,32($sp)sw $16,24($sp)sw $31,48($sp)sw $21,44($sp)sw $20,40($sp)sw $19,36($sp)sw $17,28($sp)addiu $18,$4,16lw $2,52($18)move $16,$4lw $19,12($16)beq $2,$0,$L23move $4,$18lw $31,48($sp)$L24:lw $21,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,56$L23:lw $6,0($19)jal end_taglw $7,4($19)jal url_ftellmove $4,$18move $20,$2li $6,4 # 0x4move $7,$0move $4,$18move $21,$3jal url_fseeksw $0,16($sp)addiu $5,$20,-8jal put_le32move $4,$18move $6,$20move $7,$21move $4,$18jal url_fseeksw $0,16($sp)jal put_flush_packetmove $4,$18lw $8,100($16)li $2,1 # 0x1lw $9,8($8)lw $3,232($9)beq $3,$2,$L24lw $31,48($sp)lw $2,24($19)lw $4,16($19)lw $3,28($19)lw $5,20($19)subu $10,$2,$4sltu $6,$2,$10subu $11,$3,$5lw $7,32($19)lw $5,64($9)subu $11,$11,$6lw $6,64($8)addu $12,$10,$7mult $5,$6sra $3,$7,31lw $8,68($8)sltu $4,$12,$10addu $13,$11,$3addu $13,$4,$13mflo $6mfhi $7move $4,$12move $5,$13sra $2,$8,31sw $8,16($sp)jal av_rescalesw $2,20($sp)move $16,$2lw $2,0($19)lw $3,4($19)addiu $6,$2,-12sltu $5,$6,$2addiu $7,$3,-1addu $7,$5,$7move $4,$18jal url_fseeksw $0,16($sp)move $5,$16jal put_le32move $4,$18move $6,$20move $7,$21move $4,$18jal url_fseeksw $0,16($sp)jal put_flush_packetmove $4,$18lw $31,48($sp)lw $21,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,56.set macro.set reorder.end wav_write_trailer.section .rodata.str1.4,"aMS",@progbits,1.align 2$LC0:.ascii "wav_write_packet: NOPTS\012\000".section .text.wav_write_packet,"ax",@progbits.align 2.align 5.ent wav_write_packet.type wav_write_packet, @functionwav_write_packet:.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 $18,24($sp)sw $17,20($sp)sw $31,28($sp)sw $16,16($sp)move $18,$5lw $6,20($18)lw $5,16($5)move $17,$4addiu $4,$4,16jal put_bufferlw $16,12($17)lw $4,0($18)bne $4,$0,$L28lw $5,4($18)li $2,-2147483648 # 0xffffffff80000000beq $5,$2,$L26nop$L28:lw $7,20($16)slt $2,$5,$7beq $2,$0,$L35lw $6,16($16)$L29:sw $4,16($16)sw $5,20($16)lw $7,4($18)lw $5,28($16)lw $4,24($16)slt $2,$5,$7beq $2,$0,$L36lw $6,0($18)$L31:lw $2,32($18)sw $6,24($16)sw $2,32($16)sw $7,28($16)lw $31,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)move $2,$0j $31addiu $sp,$sp,32$L36:beq $5,$7,$L37sltu $2,$4,$6move $6,$4j $L31move $7,$5$L35:beq $5,$7,$L38sltu $2,$4,$6move $4,$6$L39:move $5,$7sw $4,16($16)sw $5,20($16)lw $7,4($18)lw $5,28($16)lw $4,24($16)slt $2,$5,$7bne $2,$0,$L31lw $6,0($18)j $L36nop$L26:lui $6,%hi($LC0)move $4,$17addiu $6,$6,%lo($LC0)jal av_logmove $5,$0lw $31,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)move $2,$0j $31addiu $sp,$sp,32$L38:bne $2,$0,$L29nopj $L39move $4,$6$L37:bne $2,$0,$L31nopmove $6,$4j $L31move $7,$5.set macro.set reorder.end wav_write_packet.section .text.wav_read_seek,"ax",@progbits.align 2.align 5.ent wav_read_seek.type wav_read_seek, @functionwav_read_seek:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolw $2,100($4)lw $3,8($2)li $2,-131072 # 0xfffffffffffe0000lw $8,228($3)ori $2,$2,0xb000addu $8,$8,$2li $3,1 # 0x1sll $3,$3,$8sltu $8,$8,6andi $3,$3,0x33beq $8,$0,$L41lw $2,16($sp)beq $3,$0,$L41nopj $31li $2,-1 # 0xffffffffffffffff$L41:j pcm_read_seeksw $2,16($sp).set macro.set reorder.end wav_read_seek.section .rodata.str1.4.align 2$LC1:.ascii "RIFF\000".align 2$LC2:.ascii "WAVE\000".align 2$LC3:.ascii "fmt \000".align 2$LC4:.ascii "fact\000".align 2$LC5:.ascii "data\000".section .text.wav_write_header,"ax",@progbits.align 2.align 5.ent wav_write_header.type wav_write_header, @functionwav_write_header:.frame $sp,40,$31 # vars= 0, regs= 6/0, args= 16, gp= 0.mask 0x801f0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-40sw $18,24($sp)lui $5,%hi($LC1)addiu $18,$4,16sw $31,36($sp)sw $20,32($sp)sw $17,20($sp)sw $16,16($sp)move $20,$4sw $19,28($sp)addiu $5,$5,%lo($LC1)move $4,$18jal put_taglw $19,12($20)move $4,$18jal put_le32move $5,$0lui $5,%hi($LC2)move $4,$18jal put_tagaddiu $5,$5,%lo($LC2)lui $5,%hi($LC3)move $4,$18jal start_tagaddiu $5,$5,%lo($LC3)move $16,$2lw $2,100($20)move $4,$18lw $5,8($2)jal put_wav_headermove $17,$3move $6,$16move $7,$17bltz $2,$L54move $4,$18jal end_tagnoplw $6,100($20)li $3,1 # 0x1lw $2,8($6)lw $4,232($2)beq $4,$3,$L56lui $5,%hi($LC4)lw $2,52($18)addiu $5,$5,%lo($LC4)beq $2,$0,$L55move $4,$18$L50:lw $2,8($6)$L56:move $4,$6lw $7,64($2)li $6,1 # 0x1jal av_set_pts_infoli $5,64 # 0x40li $3,2147418112 # 0x7fff0000li $2,-1 # 0xffffffffffffffffori $3,$3,0xffffsw $2,16($19)sw $3,20($19)move $2,$0move $3,$0lui $5,%hi($LC5)addiu $5,$5,%lo($LC5)move $4,$18sw $0,32($19)sw $2,24($19)jal start_tagsw $3,28($19)sw $2,0($19)sw $3,4($19)jal put_flush_packetmove $4,$18move $2,$0$L49:lw $31,36($sp)lw $20,32($sp)lw $19,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,40$L55:jal start_tagnopmove $16,$2move $17,$3move $4,$18jal put_le32move $5,$0move $6,$16move $4,$18jal end_tagmove $7,$17j $L50lw $6,100($20)$L54:jal av_freemove $4,$19j $L49li $2,-1 # 0xffffffffffffffff.set macro.set reorder.end wav_write_header.section .text.wav_read_header,"ax",@progbits.align 2.align 5.ent wav_read_header.type wav_read_header, @functionwav_read_header:.frame $sp,56,$31 # vars= 0, regs= 8/0, args= 24, gp= 0.mask 0x807f0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-56sw $17,28($sp)addiu $17,$4,16sw $18,32($sp)sw $31,52($sp)sw $22,48($sp)sw $21,44($sp)sw $20,40($sp)sw $19,36($sp)sw $16,24($sp)move $18,$4move $4,$17jal get_le32lw $19,12($18)li $3,1178992640 # 0x46460000ori $3,$3,0x4952beq $2,$3,$L77li $2,-1 # 0xffffffffffffffff$L74:lw $31,52($sp)lw $22,48($sp)lw $21,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,56$L77:jal get_le32move $4,$17jal get_le32move $4,$17li $3,1163264000 # 0x45560000ori $3,$3,0x4157bne $2,$3,$L74li $2,-1 # 0xffffffffffffffffli $2,544473088 # 0x20740000ori $21,$2,0x6d66j $L60li $22,1 # 0x1$L78:jal get_le32nopmove $4,$17jal get_le32move $16,$2move $20,$2beq $16,$21,$L62move $4,$17move $6,$2sra $7,$2,31jal url_fseeksw $22,16($sp)$L60:jal url_feofmove $4,$17beq $2,$0,$L78move $4,$17j $L74li $2,-1 # 0xffffffffffffffff$L62:bltz $2,$L79li $2,2147418112 # 0x7fff0000$L65:move $4,$18jal av_new_streammove $5,$0beq $2,$0,$L80move $16,$2lw $5,8($16)move $6,$20jal get_wav_headermove $4,$17lw $2,8($16)li $3,1 # 0x1lw $7,64($2)sw $3,108($16)move $4,$16li $5,64 # 0x40jal av_set_pts_infoli $6,1 # 0x1li $2,1634992128 # 0x61740000ori $18,$2,0x6164j $L67li $20,1 # 0x1$L81:jal get_le32nopmove $16,$2jal get_le32move $4,$17beq $16,$18,$L69move $4,$17move $6,$2sra $7,$2,31jal url_fseeksw $20,16($sp)$L67:jal url_feofmove $4,$17beq $2,$0,$L81move $4,$17j $L74li $2,-1 # 0xffffffffffffffff$L69:bltz $2,$L71li $20,2147418112 # 0x7fff0000move $20,$2sra $21,$2,31$L73:jal url_ftellmove $4,$17addu $4,$2,$20sltu $6,$4,$2addu $5,$3,$21addu $5,$6,$5move $2,$0sw $4,8($19)j $L74sw $5,12($19)$L80:j $L74li $2,-12 # 0xfffffffffffffff4$L79:j $L65ori $20,$2,0xffff$L71:ori $20,$20,0xffffj $L73move $21,$0.set macro.set reorder.end wav_read_header.section .text.wav_read_packet,"ax",@progbits.align 2.align 5.ent wav_read_packet.type wav_read_packet, @functionwav_read_packet:.frame $sp,64,$31 # vars= 0, regs= 9/0, args= 24, gp= 0.mask 0x80ff0000,-8.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-64sw $18,32($sp)addiu $18,$4,16sw $22,48($sp)sw $17,28($sp)sw $31,56($sp)move $17,$4sw $23,52($sp)sw $21,44($sp)sw $20,40($sp)sw $19,36($sp)sw $16,24($sp)move $4,$18move $22,$5jal url_feoflw $19,12($17)beq $2,$0,$L99move $4,$18lw $31,56($sp)$L102:lw $23,52($sp)lw $22,48($sp)lw $21,44($sp)lw $20,40($sp)lw $19,36($sp)lw $18,32($sp)lw $17,28($sp)lw $16,24($sp)li $2,-5 # 0xfffffffffffffffbj $31addiu $sp,$sp,64$L99:lw $16,8($19)jal url_ftelllw $23,100($17)subu $17,$16,$2bgtz $17,$L85li $2,1634992128 # 0x61740000ori $20,$2,0x6164j $L86li $21,1 # 0x1$L100:jal get_le32nopmove $4,$18jal get_le32move $16,$2move $17,$2beq $16,$20,$L88move $4,$18move $6,$2sra $7,$2,31jal url_fseeksw $21,16($sp)$L86:jal url_feofmove $4,$18beq $2,$0,$L100move $4,$18j $L102lw $31,56($sp)$L88:bltz $2,$L90li $20,2147418112 # 0x7fff0000move $20,$2sra $21,$2,31$L92:jal url_ftellmove $4,$18addu $4,$2,$20sltu $6,$4,$2addu $5,$3,$21addu $5,$6,$5sw $4,8($19)sw $5,12($19)$L85:lw $2,8($23)lw $4,272($2)slt $3,$4,2bne $3,$0,$L101li $2,4096 # 0x1000slt $3,$4,4096movz $2,$4,$3div $0,$2,$4teq $4,$0,7mflo $2mul $3,$4,$2$L95:slt $2,$17,$3movz $17,$3,$2move $4,$18move $6,$17jal av_get_packetmove $5,$22blez $2,$L102lw $31,56($sp)sw $2,20($22)sw $0,24($22)lw $31,56($sp)lw $23,52($sp)lw $22,48($sp)lw $21,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,64$L101:j $L95li $3,4096 # 0x1000$L90:li $2,2147418112 # 0x7fff0000ori $17,$2,0xffffori $20,$20,0xffffj $L92move $21,$0.set macro.set reorder.end wav_read_packet.globl wav_demuxer.section .rodata.str1.4.align 2$LC6:.ascii "wav\000".align 2$LC7:.ascii "wav format\000".data.align 2.type wav_demuxer, @object.size wav_demuxer, 64wav_demuxer:.word $LC6.word $LC7.word 40.word wav_probe.word wav_read_header.word wav_read_packet.word wav_read_close.word wav_read_seek.space 4.word 256.space 16.word __compound_literal.0.space 4.globl wav_muxer.section .rodata.str1.4.align 2$LC8:.ascii "audio/x-wav\000".data.align 2.type wav_muxer, @object.size wav_muxer, 64wav_muxer:.word $LC6.word $LC7.word $LC8.word $LC6.word 40.word 65536.word 0.word wav_write_header.word wav_write_packet.word wav_write_trailer.space 12.word __compound_literal.1.space 8.align 2.type __compound_literal.0, @object.size __compound_literal.0, 8__compound_literal.0:.word codec_wav_tags.word 0.align 2.type __compound_literal.1, @object.size __compound_literal.1, 8__compound_literal.1:.word codec_wav_tags.word 0.ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?