vocdec.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 401 行
S
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 nomacroaddiu $sp,$sp,-32sw $16,16($sp)addiu $16,$4,16sw $31,28($sp)sw $17,20($sp)li $6,20 # 0x14move $7,$0sw $18,24($sp)move $17,$4move $4,$16jal url_fskiplw $18,12($17)jal get_le16move $4,$16addiu $3,$2,-22li $2,4 # 0x4move $4,$16li $6,4 # 0x4move $7,$0beq $3,$2,$L2move $5,$0lui $6,%hi($LC0)move $4,$17addiu $6,$6,%lo($LC0)jal av_logmove $7,$3li $2,-89 # 0xffffffffffffffa7$L4:lw $31,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,32$L2:jal url_fskipnopmove $4,$17jal av_new_streammove $5,$0move $3,$2beq $3,$0,$L4li $2,-12 # 0xfffffffffffffff4lw $3,8($3)li $2,1 # 0x1sw $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,$0j $31addiu $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 nomacroaddiu $sp,$sp,-24sw $31,20($sp)sw $16,16($sp)lw $16,4($4)lui $5,%hi(voc_magic)move $4,$16addiu $5,$5,%lo(voc_magic)jal memcmpli $6,20 # 0x14bne $2,$0,$L12move $4,$0lbu $2,23($16)lbu $4,22($16)sll $2,$2,8lbu $3,25($16)or $2,$2,$4lbu $5,24($16)sll $3,$3,8nor $2,$0,$2addiu $2,$2,4660or $3,$3,$5xor $3,$3,$2li $4,10 # 0xali $2,100 # 0x64movz $4,$2,$3$L12:lw $31,20($sp)lw $16,16($sp)move $2,$4j $31addiu $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 nomacroaddiu $sp,$sp,-56sw $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,$5move $17,$7addiu $18,$4,16move $21,$0li $22,1 # 0x1$L41:bne $3,$0,$L42nop$L39:jal get_bytemove $4,$18move $16,$2beq $2,$0,$L33move $4,$18$L44:jal get_le24addiu $17,$17,-4move $3,$2sw $2,0($19)li $2,2 # 0x2move $4,$18beq $16,$2,$L41sltu $5,$16,3beq $5,$0,$L26li $2,8 # 0x8li $2,1 # 0x1beq $16,$2,$L43move $6,$3$L45:jal url_fskipsra $7,$3,31lw $3,0($19)move $4,$18sw $0,0($19)jal get_bytesubu $17,$17,$3move $16,$2bne $2,$0,$L44move $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 # 0xfffffffffffffffbj $31addiu $sp,$sp,56$L26:beq $16,$2,$L24li $2,9 # 0x9bne $16,$2,$L45move $6,$3jal get_le32move $4,$18sw $2,64($20)jal get_bytemove $4,$18sw $2,392($20)jal get_bytemove $4,$18sw $2,68($20)jal get_le16move $4,$18lui $4,%hi(voc_codec_tags)addiu $4,$4,%lo(voc_codec_tags)jal codec_get_idmove $5,$2sw $2,228($20)move $4,$18li $6,4 # 0x4jal url_fskipmove $7,$0lw $3,0($19)addiu $17,$17,-12addiu $3,$3,-12beq $3,$0,$L39sw $3,0($19)$L42:lw $3,392($20)lw $2,64($20)slt $5,$0,$17mul $2,$2,$3sw $2,4($20)lw $3,0($19)li $2,2048 # 0x800movz $17,$2,$5slt $4,$3,$17move $6,$3movz $6,$17,$4subu $3,$3,$6sw $3,0($19)move $4,$18move $5,$23lw $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_packetaddiu $sp,$sp,56$L24:jal get_le16move $4,$18move $4,$18jal get_bytemove $16,$2jal get_bytemove $4,$18li $3,65536 # 0x10000addiu $22,$2,1subu $3,$3,$16mul $3,$22,$3li $2,255983616 # 0xf420000ori $2,$2,0x4000div $0,$2,$3teq $3,$0,7addiu $17,$17,-4move $3,$0sw $0,0($19)j $L41mflo $21$L43:jal get_bytemove $4,$18li $3,256 # 0x100subu $3,$3,$2li $2,983040 # 0xf0000ori $2,$2,0x4240div $0,$2,$3teq $3,$0,7sw $22,68($20)move $4,$18addiu $17,$17,-2li $22,1 # 0x1mflo $2movn $2,$21,$21jal get_bytesw $2,64($20)lui $4,%hi(voc_codec_tags)addiu $4,$4,%lo(voc_codec_tags)jal codec_get_idmove $5,$2sw $2,228($20)jal av_get_bits_per_samplemove $4,$2sw $2,392($20)lw $3,0($19)addiu $3,$3,-2j $L41sw $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 nomacrolw $6,100($4)j voc_get_packetmove $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 + -
显示快捷键?