mmf.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 1,031 行
S
1,031 行
.file 1 "mmf.c".section .mdebug.abi32.previous.section .text.mmf_probe,"ax",@progbits.align 2.align 5.ent mmf_probe.type mmf_probe, @functionmmf_probe:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolw $4,4($4)li $2,77 # 0x4dlbu $3,0($4)beq $3,$2,$L14nop$L2:j $31move $2,$0$L14:lbu $5,1($4)bne $5,$3,$L2noplbu $2,2($4)bne $2,$5,$L2noplbu $3,3($4)li $2,68 # 0x44bne $3,$2,$L2noplbu $3,8($4)li $2,67 # 0x43bne $3,$2,$L2noplbu $3,9($4)li $2,78 # 0x4ebne $3,$2,$L2noplbu $3,10($4)li $2,84 # 0x54bne $3,$2,$L2noplbu $3,11($4)li $2,73 # 0x49bne $3,$2,$L2nopj $31li $2,100 # 0x64.set macro.set reorder.end mmf_probe.section .text.mmf_read_close,"ax",@progbits.align 2.align 5.ent mmf_read_close.type mmf_read_close, @functionmmf_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 mmf_read_close.section .text.mmf_write_packet,"ax",@progbits.align 2.align 5.ent mmf_write_packet.type mmf_write_packet, @functionmmf_write_packet:.frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0.mask 0x80000000,-8.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-24sw $31,16($sp)lw $6,20($5)lw $5,16($5)jal put_bufferaddiu $4,$4,16lw $31,16($sp)move $2,$0j $31addiu $sp,$sp,24.set macro.set reorder.end mmf_write_packet.section .text.mmf_read_seek,"ax",@progbits.align 2.align 5.ent mmf_read_seek.type mmf_read_seek, @functionmmf_read_seek:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacroj pcm_read_seeknop.set macro.set reorder.end mmf_read_seek.section .text.mmf_read_packet,"ax",@progbits.align 2.align 5.ent mmf_read_packet.type mmf_read_packet, @functionmmf_read_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 $16,16($sp)addiu $16,$4,16sw $18,24($sp)move $2,$4sw $31,28($sp)sw $17,20($sp)move $4,$16move $18,$5jal url_feoflw $17,12($2)bne $2,$0,$L22noplw $5,28($17)blez $5,$L34lw $4,24($17)li $5,4096 # 0x1000$L27:$L39:jal av_new_packetmove $4,$18beq $2,$0,$L35nop$L22:li $16,-5 # 0xfffffffffffffffb$L37:move $2,$16lw $31,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,32$L35:lw $5,16($18)lw $6,20($18)move $4,$16jal get_buffersw $0,24($18)bltz $2,$L36move $16,$2$L29:lw $6,24($17)$L38:lw $7,28($17)subu $2,$6,$16sra $5,$16,31sltu $8,$6,$2subu $3,$7,$5subu $3,$3,$8sw $2,24($17)sw $3,28($17)sw $16,20($18)move $2,$16lw $31,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,32$L34:bne $5,$0,$L24sltu $2,$4,4096beq $2,$0,$L39li $5,4096 # 0x1000$L24:bne $4,$0,$L27move $5,$4j $L37li $16,-5 # 0xfffffffffffffffb$L36:lw $2,36($18)beq $2,$0,$L29nopjal $2move $4,$18j $L38lw $6,24($17).set macro.set reorder.end mmf_read_packet.section .rodata.str1.4,"aMS",@progbits,1.align 2$LC0:.ascii "MIDI like format found, unsupported\012\000".align 2$LC1:.ascii "Unsupported SMAF chunk %08x\012\000".align 2$LC2:.ascii "Invalid sample rate\012\000".align 2$LC3:.ascii "Unexpected SMAF chunk %08x\012\000".section .text.mmf_read_header,"ax",@progbits.align 2.align 5.ent mmf_read_header.type mmf_read_header, @functionmmf_read_header:.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 $17,28($sp)addiu $17,$4,16sw $21,44($sp)sw $31,56($sp)sw $23,52($sp)sw $22,48($sp)sw $20,40($sp)sw $19,36($sp)sw $18,32($sp)sw $16,24($sp)move $21,$4move $4,$17jal get_le32lw $23,12($21)li $3,1145896960 # 0x444d0000ori $3,$3,0x4d4dbeq $2,$3,$L66li $2,-1 # 0xffffffffffffffff$L43: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$L66:jal get_be32move $4,$17li $3,1230241792 # 0x49540000li $2,1094975488 # 0x41440000ori $19,$3,0x4e43ori $20,$2,0x504fj $L44li $18,1 # 0x1$L45:move $6,$2$L70:move $7,$0jal url_fseeksw $18,16($sp)$L44:jal get_le32move $4,$17move $16,$2jal get_be32move $4,$17beq $16,$19,$L45move $4,$17beq $16,$20,$L70move $6,$2li $2,16711680 # 0xff0000li $5,5373952 # 0x520000ori $2,$2,0xffffand $4,$16,$2ori $3,$5,0x544dbeq $4,$3,$L67lui $6,%hi($LC0)ori $2,$5,0x5441bne $4,$2,$L68lui $6,%hi($LC1)jal get_bytemove $4,$17jal get_bytemove $4,$17jal get_bytemove $4,$17andi $3,$2,0xfsltu $2,$3,5beq $2,$0,$L52sll $3,$3,2lui $2,%hi(mmf_rates)addiu $2,$2,%lo(mmf_rates)addu $3,$3,$2lw $22,0($3)bltz $22,$L71lui $6,%hi($LC2)jal get_bytemove $4,$17jal get_bytemove $4,$17jal get_bytemove $4,$17li $3,1903362048 # 0x71730000li $2,1232076800 # 0x49700000ori $19,$3,0x7441ori $20,$2,0x7341j $L55li $18,1 # 0x1$L56:jal url_fseeksw $18,16($sp)$L55:jal get_le32move $4,$17move $4,$17jal get_be32move $16,$2move $9,$0move $4,$17move $8,$2move $6,$2beq $16,$19,$L56move $7,$9beq $16,$20,$L56li $3,16711680 # 0xff0000ori $3,$3,0xffffli $2,6356992 # 0x610000and $3,$16,$3ori $2,$2,0x7741beq $3,$2,$L59move $4,$21lui $6,%hi($LC3)addiu $6,$6,%lo($LC3)move $7,$16jal av_logmove $5,$0j $L43li $2,-1 # 0xffffffffffffffff$L52:lui $6,%hi($LC2)$L71:move $4,$21addiu $6,$6,%lo($LC2)jal av_logmove $5,$0j $L43li $2,-1 # 0xffffffffffffffff$L59:sw $8,24($23)sw $9,28($23)jal av_new_streammove $5,$0beq $2,$0,$L69move $6,$2lw $4,8($2)li $2,65536 # 0x10000ori $2,$2,0x100eli $5,1 # 0x1sw $2,228($4)sll $3,$22,2li $2,4 # 0x4sw $5,68($4)sw $2,392($4)sw $5,224($4)sw $3,4($4)sw $22,64($4)move $7,$22move $4,$6li $5,64 # 0x40jal av_set_pts_infoli $6,1 # 0x1j $L43move $2,$0$L68:move $4,$21addiu $6,$6,%lo($LC1)move $7,$16jal av_logmove $5,$0j $L43li $2,-1 # 0xffffffffffffffff$L69:j $L43li $2,-12 # 0xfffffffffffffff4$L67:move $4,$21addiu $6,$6,%lo($LC0)jal av_logmove $5,$0j $L43li $2,-1 # 0xffffffffffffffff.set macro.set reorder.end mmf_read_header.section .rodata.str1.4.align 2$LC4:.ascii "Unsupported sample rate %d\012\000".align 2$LC5:.ascii "MMMD\000".align 2$LC6:.ascii "CNTI\000".align 2$LC7:.ascii "VN:libavcodec,\000".rdata.align 2$LC8:.ascii "ATR\000\000".section .rodata.str1.4.align 2$LC9:.ascii "Atsq\000".rdata.align 2$LC10:.ascii "\000\000\000\000\000\000\000\000\000\000\000\000\000\000".ascii "\000\000\000".section .rodata.str1.4.align 2$LC11:.ascii "Awa\001\000".section .text.mmf_write_header,"ax",@progbits.align 2.align 5.ent mmf_write_header.type mmf_write_header, @functionmmf_write_header:.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 $17,28($sp)sw $31,56($sp)sw $23,52($sp)sw $22,48($sp)sw $21,44($sp)sw $20,40($sp)sw $19,36($sp)sw $18,32($sp)sw $16,24($sp)lw $2,100($4)move $17,$4lw $3,8($2)li $2,4000 # 0xfa0lw $7,64($3)beq $7,$2,$L86lw $22,12($4)li $2,8000 # 0x1f40beq $7,$2,$L87li $2,11025 # 0x2b11beq $7,$2,$L88li $2,22050 # 0x5622beq $7,$2,$L89li $2,44100 # 0xac44beq $7,$2,$L75li $23,4 # 0x4lui $6,%hi($LC4)addiu $6,$6,%lo($LC4)jal av_logmove $5,$0lw $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)li $2,-1 # 0xffffffffffffffffj $31addiu $sp,$sp,64$L86:move $23,$0$L75:addiu $16,$17,16lui $5,%hi($LC5)move $4,$16jal put_tagaddiu $5,$5,%lo($LC5)move $4,$16jal put_be32move $5,$0lui $5,%hi($LC6)move $4,$16jal start_tagaddiu $5,$5,%lo($LC6)move $4,$16move $5,$0move $18,$2jal put_bytemove $19,$3move $4,$16jal put_bytemove $5,$0move $4,$16jal put_bytemove $5,$0move $4,$16jal put_bytemove $5,$0move $4,$16jal put_bytemove $5,$0lui $5,%hi($LC7)addiu $5,$5,%lo($LC7)jal put_tagmove $4,$16jal url_ftellmove $4,$16addiu $6,$18,-4move $20,$2addiu $7,$19,-1sltu $2,$6,$18addu $7,$2,$7move $4,$16move $21,$3jal url_fseeksw $0,16($sp)subu $5,$20,$18jal put_be32move $4,$16move $7,$21move $6,$20move $4,$16jal url_fseeksw $0,16($sp)lui $5,%hi($LC8)li $6,4 # 0x4move $4,$16jal put_bufferaddiu $5,$5,%lo($LC8)move $4,$16jal put_be32move $5,$0jal url_ftellmove $4,$16sw $2,0($22)sw $3,4($22)move $4,$16jal put_bytemove $5,$0move $4,$16jal put_bytemove $5,$0move $4,$16jal put_byteori $5,$23,0x10move $4,$16jal put_bytemove $5,$0move $4,$16jal put_byteli $5,2 # 0x2move $4,$16jal put_byteli $5,2 # 0x2lui $5,%hi($LC9)move $4,$16jal put_tagaddiu $5,$5,%lo($LC9)move $4,$16jal put_be32li $5,16 # 0x10jal url_ftellmove $4,$16lui $5,%hi($LC10)sw $2,8($22)sw $3,12($22)li $6,16 # 0x10move $4,$16jal put_bufferaddiu $5,$5,%lo($LC10)lui $5,%hi($LC11)move $4,$16jal start_tagaddiu $5,$5,%lo($LC11)lw $4,100($17)sw $2,16($22)lw $2,8($4)sw $3,20($22)lw $7,64($2)li $5,64 # 0x40jal av_set_pts_infoli $6,1 # 0x1jal put_flush_packetmove $4,$16lw $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)move $2,$0j $31addiu $sp,$sp,64$L87:j $L75li $23,1 # 0x1$L88:j $L75li $23,2 # 0x2$L89:j $L75li $23,3 # 0x3.set macro.set reorder.end mmf_write_header.globl __divdi3.rdata.align 2$LC12:.ascii "\377\000\000".align 2$LC13:.ascii "\000\000\000\000\000".section .text.mmf_write_trailer,"ax",@progbits.align 2.align 5.ent mmf_write_trailer.type mmf_write_trailer, @functionmmf_write_trailer:.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 $22,48($sp)sw $20,40($sp)sw $31,52($sp)sw $21,44($sp)sw $19,36($sp)sw $18,32($sp)sw $17,28($sp)sw $16,24($sp)addiu $20,$4,16lw $2,52($20)move $22,$4beq $2,$0,$L97lw $21,12($4)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)move $2,$0j $31addiu $sp,$sp,56$L97:lw $16,16($21)lw $17,20($21)jal url_ftellmove $4,$20addiu $6,$16,-4move $18,$2addiu $7,$17,-1sltu $2,$6,$16addu $7,$2,$7move $4,$20move $19,$3jal url_fseeksw $0,16($sp)subu $5,$18,$16jal put_be32move $4,$20move $6,$18move $7,$19move $4,$20jal url_fseeksw $0,16($sp)lw $16,0($21)lw $17,4($21)jal url_ftellmove $4,$20addiu $6,$16,-4move $18,$2addiu $7,$17,-1sltu $2,$6,$16addu $7,$2,$7move $4,$20move $19,$3jal url_fseeksw $0,16($sp)subu $5,$18,$16jal put_be32move $4,$20move $6,$18move $7,$19move $4,$20jal url_fseeksw $0,16($sp)jal url_ftellmove $4,$20move $16,$2li $6,4 # 0x4move $7,$0move $4,$20move $17,$3jal url_fseeksw $0,16($sp)addiu $5,$16,-8jal put_be32move $4,$20move $6,$16move $7,$17move $4,$20jal url_fseeksw $0,16($sp)jal url_ftellmove $4,$20move $18,$2lw $2,16($21)move $19,$3lw $3,20($21)lw $6,8($21)lw $7,12($21)subu $16,$18,$2sltu $5,$18,$16subu $17,$19,$3move $4,$20subu $17,$17,$5jal url_fseeksw $0,16($sp)move $4,$20jal put_bytemove $5,$0move $4,$20jal put_byteli $5,1 # 0x1li $2,500 # 0x1f4multu $16,$2lw $6,100($22)mfhi $5lw $3,8($6)mflo $4mul $6,$2,$17lw $8,64($3)addu $5,$6,$5sra $7,$8,31jal __divdi3move $6,$8move $16,$2move $3,$2slt $2,$2,128beq $2,$0,$L93addiu $17,$3,-128move $4,$20jal put_bytemove $5,$16move $4,$20jal put_bytemove $5,$16lui $5,%hi($LC12)$L98:move $4,$20addiu $5,$5,%lo($LC12)jal put_bufferli $6,2 # 0x2lui $5,%hi($LC13)addiu $5,$5,%lo($LC13)move $4,$20jal put_bufferli $6,4 # 0x4move $6,$18move $7,$19move $4,$20jal url_fseeksw $0,16($sp)jal put_flush_packetmove $4,$20lw $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)move $2,$0j $31addiu $sp,$sp,56$L93:sra $16,$17,7ori $16,$16,0x80andi $17,$17,0x7fmove $4,$20jal put_bytemove $5,$16move $4,$20jal put_bytemove $5,$17move $4,$20jal put_bytemove $5,$16move $4,$20jal put_bytemove $5,$17j $L98lui $5,%hi($LC12).set macro.set reorder.end mmf_write_trailer.globl mmf_demuxer.section .rodata.str1.4.align 2$LC14:.ascii "mmf\000".align 2$LC15:.ascii "mmf format\000".data.align 2.type mmf_demuxer, @object.size mmf_demuxer, 64mmf_demuxer:.word $LC14.word $LC15.word 32.word mmf_probe.word mmf_read_header.word mmf_read_packet.word mmf_read_close.word mmf_read_seek.space 32.globl mmf_muxer.section .rodata.str1.4.align 2$LC16:.ascii "application/vnd.smaf\000".data.align 2.type mmf_muxer, @object.size mmf_muxer, 64mmf_muxer:.word $LC14.word $LC15.word $LC16.word $LC14.word 32.word 69646.word 0.word mmf_write_header.word mmf_write_packet.word mmf_write_trailer.space 24.rdata.align 2.type mmf_rates, @object.size mmf_rates, 20mmf_rates:.word 4000.word 8000.word 11025.word 22050.word 44100.ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?