vocdec.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 401 行
MID
401 行
.file 1 "vocdec.c" .section .mdebug.abi32 .previous .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "unknown header size: %d\012\000" .section .text.voc_read_header,"ax",@progbits .align 2 .align 5 .ent voc_read_header .type voc_read_header, @functionvoc_read_header: .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 $16,16($sp) addiu $16,$4,16 sw $31,28($sp) sw $17,20($sp) li $6,20 # 0x14 move $7,$0 sw $18,24($sp) move $17,$4 move $4,$16 jal url_fskip lw $18,12($17) jal get_le16 move $4,$16 addiu $3,$2,-22 li $2,4 # 0x4 move $4,$16 li $6,4 # 0x4 move $7,$0 beq $3,$2,$L2 move $5,$0 lui $6,%hi($LC0) move $4,$17 addiu $6,$6,%lo($LC0) jal av_log move $7,$3 li $2,-89 # 0xffffffffffffffa7$L4: lw $31,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32$L2: jal url_fskip nop move $4,$17 jal av_new_stream move $5,$0 move $3,$2 beq $3,$0,$L4 li $2,-12 # 0xfffffffffffffff4 lw $3,8($3) li $2,1 # 0x1 sw $2,224($3) sw $0,0($18) 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 .set macro .set reorder .end voc_read_header .section .text.voc_probe,"ax",@progbits .align 2 .align 5 .ent voc_probe .type voc_probe, @functionvoc_probe: .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $31,20($sp) sw $16,16($sp) lw $16,4($4) lui $5,%hi(voc_magic) move $4,$16 addiu $5,$5,%lo(voc_magic) jal memcmp li $6,20 # 0x14 bne $2,$0,$L12 move $4,$0 lbu $2,23($16) lbu $4,22($16) sll $2,$2,8 lbu $3,25($16) or $2,$2,$4 lbu $5,24($16) sll $3,$3,8 nor $2,$0,$2 addiu $2,$2,4660 or $3,$3,$5 xor $3,$3,$2 li $4,10 # 0xa li $2,100 # 0x64 movz $4,$2,$3$L12: lw $31,20($sp) lw $16,16($sp) move $2,$4 j $31 addiu $sp,$sp,24 .set macro .set reorder .end voc_probe .section .text.voc_get_packet,"ax",@progbits .align 2 .align 5 .globl voc_get_packet .ent voc_get_packet .type voc_get_packet, @functionvoc_get_packet: .frame $sp,56,$31 # vars= 0, regs= 9/0, args= 16, gp= 0 .mask 0x80ff0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $23,44($sp) sw $22,40($sp) sw $21,36($sp) sw $18,24($sp) sw $17,20($sp) sw $31,48($sp) sw $20,32($sp) sw $19,28($sp) sw $16,16($sp) lw $19,12($4) lw $20,8($6) lw $3,0($19) move $23,$5 move $17,$7 addiu $18,$4,16 move $21,$0 li $22,1 # 0x1$L41: bne $3,$0,$L42 nop$L39: jal get_byte move $4,$18 move $16,$2 beq $2,$0,$L33 move $4,$18$L44: jal get_le24 addiu $17,$17,-4 move $3,$2 sw $2,0($19) li $2,2 # 0x2 move $4,$18 beq $16,$2,$L41 sltu $5,$16,3 beq $5,$0,$L26 li $2,8 # 0x8 li $2,1 # 0x1 beq $16,$2,$L43 move $6,$3$L45: jal url_fskip sra $7,$3,31 lw $3,0($19) move $4,$18 sw $0,0($19) jal get_byte subu $17,$17,$3 move $16,$2 bne $2,$0,$L44 move $4,$18$L33: lw $31,48($sp) lw $23,44($sp) lw $22,40($sp) lw $21,36($sp) lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) li $2,-5 # 0xfffffffffffffffb j $31 addiu $sp,$sp,56$L26: beq $16,$2,$L24 li $2,9 # 0x9 bne $16,$2,$L45 move $6,$3 jal get_le32 move $4,$18 sw $2,64($20) jal get_byte move $4,$18 sw $2,392($20) jal get_byte move $4,$18 sw $2,68($20) jal get_le16 move $4,$18 lui $4,%hi(voc_codec_tags) addiu $4,$4,%lo(voc_codec_tags) jal codec_get_id move $5,$2 sw $2,228($20) move $4,$18 li $6,4 # 0x4 jal url_fskip move $7,$0 lw $3,0($19) addiu $17,$17,-12 addiu $3,$3,-12 beq $3,$0,$L39 sw $3,0($19)$L42: lw $3,392($20) lw $2,64($20) slt $5,$0,$17 mul $2,$2,$3 sw $2,4($20) lw $3,0($19) li $2,2048 # 0x800 movz $17,$2,$5 slt $4,$3,$17 move $6,$3 movz $6,$17,$4 subu $3,$3,$6 sw $3,0($19) move $4,$18 move $5,$23 lw $31,48($sp) lw $23,44($sp) lw $22,40($sp) lw $21,36($sp) lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j av_get_packet addiu $sp,$sp,56$L24: jal get_le16 move $4,$18 move $4,$18 jal get_byte move $16,$2 jal get_byte move $4,$18 li $3,65536 # 0x10000 addiu $22,$2,1 subu $3,$3,$16 mul $3,$22,$3 li $2,255983616 # 0xf420000 ori $2,$2,0x4000 div $0,$2,$3 teq $3,$0,7 addiu $17,$17,-4 move $3,$0 sw $0,0($19) j $L41 mflo $21$L43: jal get_byte move $4,$18 li $3,256 # 0x100 subu $3,$3,$2 li $2,983040 # 0xf0000 ori $2,$2,0x4240 div $0,$2,$3 teq $3,$0,7 sw $22,68($20) move $4,$18 addiu $17,$17,-2 li $22,1 # 0x1 mflo $2 movn $2,$21,$21 jal get_byte sw $2,64($20) lui $4,%hi(voc_codec_tags) addiu $4,$4,%lo(voc_codec_tags) jal codec_get_id move $5,$2 sw $2,228($20) jal av_get_bits_per_sample move $4,$2 sw $2,392($20) lw $3,0($19) addiu $3,$3,-2 j $L41 sw $3,0($19) .set macro .set reorder .end voc_get_packet .section .text.voc_read_packet,"ax",@progbits .align 2 .align 5 .ent voc_read_packet .type voc_read_packet, @functionvoc_read_packet: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $6,100($4) j voc_get_packet move $7,$0 .set macro .set reorder .end voc_read_packet .globl voc_demuxer .section .rodata.str1.4 .align 2$LC1: .ascii "voc\000" .align 2$LC2: .ascii "Creative Voice File format\000" .data .align 2 .type voc_demuxer, @object .size voc_demuxer, 64voc_demuxer: .word $LC1 .word $LC2 .word 4 .word voc_probe .word voc_read_header .word voc_read_packet .space 32 .word __compound_literal.0 .space 4 .align 2 .type __compound_literal.0, @object .size __compound_literal.0, 8__compound_literal.0: .word voc_codec_tags .word 0 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?