wav.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 942 行
MID
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 nomacro lw $2,8($4) slt $2,$2,33 bne $2,$0,$L2 nop lw $4,4($4) li $2,82 # 0x52 lbu $3,0($4) beq $3,$2,$L15 nop$L2: j $31 move $2,$0$L15: lbu $3,1($4) li $2,73 # 0x49 bne $3,$2,$L2 nop lbu $3,2($4) li $2,70 # 0x46 bne $3,$2,$L2 nop lbu $2,3($4) bne $2,$3,$L2 nop lbu $3,8($4) li $2,87 # 0x57 bne $3,$2,$L2 nop lbu $3,9($4) li $2,65 # 0x41 bne $3,$2,$L2 nop lbu $3,10($4) li $2,86 # 0x56 bne $3,$2,$L2 nop lbu $3,11($4) li $2,69 # 0x45 bne $3,$2,$L2 nop j $31 li $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 nomacro j $31 move $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 nomacro addiu $sp,$sp,-56 sw $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,16 lw $2,52($18) move $16,$4 lw $19,12($16) beq $2,$0,$L23 move $4,$18 lw $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,$0 j $31 addiu $sp,$sp,56$L23: lw $6,0($19) jal end_tag lw $7,4($19) jal url_ftell move $4,$18 move $20,$2 li $6,4 # 0x4 move $7,$0 move $4,$18 move $21,$3 jal url_fseek sw $0,16($sp) addiu $5,$20,-8 jal put_le32 move $4,$18 move $6,$20 move $7,$21 move $4,$18 jal url_fseek sw $0,16($sp) jal put_flush_packet move $4,$18 lw $8,100($16) li $2,1 # 0x1 lw $9,8($8) lw $3,232($9) beq $3,$2,$L24 lw $31,48($sp) lw $2,24($19) lw $4,16($19) lw $3,28($19) lw $5,20($19) subu $10,$2,$4 sltu $6,$2,$10 subu $11,$3,$5 lw $7,32($19) lw $5,64($9) subu $11,$11,$6 lw $6,64($8) addu $12,$10,$7 mult $5,$6 sra $3,$7,31 lw $8,68($8) sltu $4,$12,$10 addu $13,$11,$3 addu $13,$4,$13 mflo $6 mfhi $7 move $4,$12 move $5,$13 sra $2,$8,31 sw $8,16($sp) jal av_rescale sw $2,20($sp) move $16,$2 lw $2,0($19) lw $3,4($19) addiu $6,$2,-12 sltu $5,$6,$2 addiu $7,$3,-1 addu $7,$5,$7 move $4,$18 jal url_fseek sw $0,16($sp) move $5,$16 jal put_le32 move $4,$18 move $6,$20 move $7,$21 move $4,$18 jal url_fseek sw $0,16($sp) jal put_flush_packet move $4,$18 lw $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,$0 j $31 addiu $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 nomacro addiu $sp,$sp,-32 sw $18,24($sp) sw $17,20($sp) sw $31,28($sp) sw $16,16($sp) move $18,$5 lw $6,20($18) lw $5,16($5) move $17,$4 addiu $4,$4,16 jal put_buffer lw $16,12($17) lw $4,0($18) bne $4,$0,$L28 lw $5,4($18) li $2,-2147483648 # 0xffffffff80000000 beq $5,$2,$L26 nop$L28: lw $7,20($16) slt $2,$5,$7 beq $2,$0,$L35 lw $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,$7 beq $2,$0,$L36 lw $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,$0 j $31 addiu $sp,$sp,32$L36: beq $5,$7,$L37 sltu $2,$4,$6 move $6,$4 j $L31 move $7,$5$L35: beq $5,$7,$L38 sltu $2,$4,$6 move $4,$6$L39: move $5,$7 sw $4,16($16) sw $5,20($16) lw $7,4($18) lw $5,28($16) lw $4,24($16) slt $2,$5,$7 bne $2,$0,$L31 lw $6,0($18) j $L36 nop$L26: lui $6,%hi($LC0) move $4,$17 addiu $6,$6,%lo($LC0) jal av_log move $5,$0 lw $31,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) move $2,$0 j $31 addiu $sp,$sp,32$L38: bne $2,$0,$L29 nop j $L39 move $4,$6$L37: bne $2,$0,$L31 nop move $6,$4 j $L31 move $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 nomacro lw $2,100($4) lw $3,8($2) li $2,-131072 # 0xfffffffffffe0000 lw $8,228($3) ori $2,$2,0xb000 addu $8,$8,$2 li $3,1 # 0x1 sll $3,$3,$8 sltu $8,$8,6 andi $3,$3,0x33 beq $8,$0,$L41 lw $2,16($sp) beq $3,$0,$L41 nop j $31 li $2,-1 # 0xffffffffffffffff$L41: j pcm_read_seek sw $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 nomacro addiu $sp,$sp,-40 sw $18,24($sp) lui $5,%hi($LC1) addiu $18,$4,16 sw $31,36($sp) sw $20,32($sp) sw $17,20($sp) sw $16,16($sp) move $20,$4 sw $19,28($sp) addiu $5,$5,%lo($LC1) move $4,$18 jal put_tag lw $19,12($20) move $4,$18 jal put_le32 move $5,$0 lui $5,%hi($LC2) move $4,$18 jal put_tag addiu $5,$5,%lo($LC2) lui $5,%hi($LC3) move $4,$18 jal start_tag addiu $5,$5,%lo($LC3) move $16,$2 lw $2,100($20) move $4,$18 lw $5,8($2) jal put_wav_header move $17,$3 move $6,$16 move $7,$17 bltz $2,$L54 move $4,$18 jal end_tag nop lw $6,100($20) li $3,1 # 0x1 lw $2,8($6) lw $4,232($2) beq $4,$3,$L56 lui $5,%hi($LC4) lw $2,52($18) addiu $5,$5,%lo($LC4) beq $2,$0,$L55 move $4,$18$L50: lw $2,8($6)$L56: move $4,$6 lw $7,64($2) li $6,1 # 0x1 jal av_set_pts_info li $5,64 # 0x40 li $3,2147418112 # 0x7fff0000 li $2,-1 # 0xffffffffffffffff ori $3,$3,0xffff sw $2,16($19) sw $3,20($19) move $2,$0 move $3,$0 lui $5,%hi($LC5) addiu $5,$5,%lo($LC5) move $4,$18 sw $0,32($19) sw $2,24($19) jal start_tag sw $3,28($19) sw $2,0($19) sw $3,4($19) jal put_flush_packet move $4,$18 move $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 $31 addiu $sp,$sp,40$L55: jal start_tag nop move $16,$2 move $17,$3 move $4,$18 jal put_le32 move $5,$0 move $6,$16 move $4,$18 jal end_tag move $7,$17 j $L50 lw $6,100($20)$L54: jal av_free move $4,$19 j $L49 li $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 nomacro addiu $sp,$sp,-56 sw $17,28($sp) addiu $17,$4,16 sw $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,$4 move $4,$17 jal get_le32 lw $19,12($18) li $3,1178992640 # 0x46460000 ori $3,$3,0x4952 beq $2,$3,$L77 li $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 $31 addiu $sp,$sp,56$L77: jal get_le32 move $4,$17 jal get_le32 move $4,$17 li $3,1163264000 # 0x45560000 ori $3,$3,0x4157 bne $2,$3,$L74 li $2,-1 # 0xffffffffffffffff li $2,544473088 # 0x20740000 ori $21,$2,0x6d66 j $L60 li $22,1 # 0x1$L78: jal get_le32 nop move $4,$17 jal get_le32 move $16,$2 move $20,$2 beq $16,$21,$L62 move $4,$17 move $6,$2 sra $7,$2,31 jal url_fseek sw $22,16($sp)$L60: jal url_feof move $4,$17 beq $2,$0,$L78 move $4,$17 j $L74 li $2,-1 # 0xffffffffffffffff$L62: bltz $2,$L79 li $2,2147418112 # 0x7fff0000$L65: move $4,$18 jal av_new_stream move $5,$0 beq $2,$0,$L80 move $16,$2 lw $5,8($16) move $6,$20 jal get_wav_header move $4,$17 lw $2,8($16) li $3,1 # 0x1 lw $7,64($2) sw $3,108($16) move $4,$16 li $5,64 # 0x40 jal av_set_pts_info li $6,1 # 0x1 li $2,1634992128 # 0x61740000 ori $18,$2,0x6164 j $L67 li $20,1 # 0x1$L81: jal get_le32 nop move $16,$2 jal get_le32 move $4,$17 beq $16,$18,$L69 move $4,$17 move $6,$2 sra $7,$2,31 jal url_fseek sw $20,16($sp)$L67: jal url_feof move $4,$17 beq $2,$0,$L81 move $4,$17 j $L74 li $2,-1 # 0xffffffffffffffff$L69: bltz $2,$L71 li $20,2147418112 # 0x7fff0000 move $20,$2 sra $21,$2,31$L73: jal url_ftell move $4,$17 addu $4,$2,$20 sltu $6,$4,$2 addu $5,$3,$21 addu $5,$6,$5 move $2,$0 sw $4,8($19) j $L74 sw $5,12($19)$L80: j $L74 li $2,-12 # 0xfffffffffffffff4$L79: j $L65 ori $20,$2,0xffff$L71: ori $20,$20,0xffff j $L73 move $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 nomacro addiu $sp,$sp,-64 sw $18,32($sp) addiu $18,$4,16 sw $22,48($sp) sw $17,28($sp) sw $31,56($sp) move $17,$4 sw $23,52($sp) sw $21,44($sp) sw $20,40($sp) sw $19,36($sp) sw $16,24($sp) move $4,$18 move $22,$5 jal url_feof lw $19,12($17) beq $2,$0,$L99 move $4,$18 lw $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 # 0xfffffffffffffffb j $31 addiu $sp,$sp,64$L99: lw $16,8($19) jal url_ftell lw $23,100($17) subu $17,$16,$2 bgtz $17,$L85 li $2,1634992128 # 0x61740000 ori $20,$2,0x6164 j $L86 li $21,1 # 0x1$L100: jal get_le32 nop move $4,$18 jal get_le32 move $16,$2 move $17,$2 beq $16,$20,$L88 move $4,$18 move $6,$2 sra $7,$2,31 jal url_fseek sw $21,16($sp)$L86: jal url_feof move $4,$18 beq $2,$0,$L100 move $4,$18 j $L102 lw $31,56($sp)$L88: bltz $2,$L90 li $20,2147418112 # 0x7fff0000 move $20,$2 sra $21,$2,31$L92: jal url_ftell move $4,$18 addu $4,$2,$20 sltu $6,$4,$2 addu $5,$3,$21 addu $5,$6,$5 sw $4,8($19) sw $5,12($19)$L85: lw $2,8($23) lw $4,272($2) slt $3,$4,2 bne $3,$0,$L101 li $2,4096 # 0x1000 slt $3,$4,4096 movz $2,$4,$3 div $0,$2,$4 teq $4,$0,7 mflo $2 mul $3,$4,$2$L95: slt $2,$17,$3 movz $17,$3,$2 move $4,$18 move $6,$17 jal av_get_packet move $5,$22 blez $2,$L102 lw $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 $31 addiu $sp,$sp,64$L101: j $L95 li $3,4096 # 0x1000$L90: li $2,2147418112 # 0x7fff0000 ori $17,$2,0xffff ori $20,$20,0xffff j $L92 move $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 + -
显示快捷键?