mpc.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 793 行
MID
793 行
.file 1 "mpc.c" .section .mdebug.abi32 .previous .section .text.mpc_probe,"ax",@progbits .align 2 .align 5 .ent mpc_probe .type mpc_probe, @functionmpc_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 $4,4($4) li $2,77 # 0x4d lbu $3,0($4) beq $3,$2,$L15 li $2,73 # 0x49 beq $3,$2,$L16 nop$L4: j $31 move $2,$0$L16: lbu $3,1($4) li $2,68 # 0x44 bne $3,$2,$L4 nop lbu $3,2($4) li $2,51 # 0x33 bne $3,$2,$L4 nop j $31 li $2,50 # 0x32$L15: lbu $3,1($4) li $2,80 # 0x50 bne $3,$2,$L4 nop lbu $3,2($4) li $2,43 # 0x2b bne $3,$2,$L4 nop lbu $3,3($4) li $2,23 # 0x17 beq $3,$2,$L7 nop li $2,7 # 0x7 bne $3,$2,$L4 nop$L7: j $31 li $2,100 # 0x64 .set macro .set reorder .end mpc_probe .section .text.mpc_read_seek,"ax",@progbits .align 2 .align 5 .ent mpc_read_seek .type mpc_read_seek, @functionmpc_read_seek: .frame $sp,112,$31 # vars= 56, regs= 8/0, args= 24, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-112 sw $16,80($sp) sll $5,$5,2 addiu $16,$6,-32 sw $22,104($sp) sw $19,92($sp) sw $18,88($sp) sw $17,84($sp) sw $31,108($sp) sw $21,100($sp) sw $20,96($sp) addu $5,$5,$4 sltu $2,$16,$6 addiu $17,$7,-1 lw $20,100($5) addu $17,$2,$17 lw $2,128($sp) move $22,$4 sw $2,16($sp) move $18,$6 move $19,$7 move $4,$20 move $6,$16 move $7,$17 jal av_index_search_timestamp lw $21,12($22) bltz $2,$L18 move $3,$2 sll $3,$3,3 lw $4,144($20) sll $2,$2,5 subu $2,$2,$3 addu $2,$2,$4 lw $3,0($2) move $2,$0 sw $3,4($21)$L20: lw $31,108($sp) lw $22,104($sp) lw $21,100($sp) lw $20,96($sp) lw $19,92($sp) lw $18,88($sp) lw $17,84($sp) lw $16,80($sp) j $31 addiu $sp,$sp,112$L18: bltz $19,$L21 move $5,$0 slt $2,$19,$5 bne $2,$0,$L25 lw $4,12($21) beq $19,$0,$L52 nop$L21: j $L20 li $2,-1 # 0xffffffffffffffff$L52: sltu $2,$18,$4 beq $2,$0,$L20 li $2,-1 # 0xffffffffffffffff$L25: lw $2,24($21) beq $2,$0,$L36 lw $19,4($21) addiu $2,$2,-1 slt $3,$0,$17 sw $2,4($21)$L46: beq $3,$0,$L51 addiu $18,$sp,24$L55: move $4,$22 jal av_read_frame move $5,$18 bltz $2,$L37 move $4,$18$L53: lw $2,60($sp) beq $2,$0,$L55 addiu $18,$sp,24 jal $2 addiu $18,$sp,24 move $4,$22 jal av_read_frame move $5,$18 bgez $2,$L53 move $4,$18$L37: li $2,-1 # 0xffffffffffffffff j $L20 sw $19,4($21)$L54: beq $2,$0,$L20 move $2,$0 jal av_read_frame nop bltz $2,$L37 move $4,$18 lw $2,60($sp) beq $2,$0,$L51 nop jal $2 nop$L51: lw $2,4($21) addiu $18,$sp,24 move $4,$22 move $5,$18 beq $17,$0,$L54 sltu $2,$2,$16 j $L20 move $2,$0$L36: j $L46 slt $3,$0,$17 .set macro .set reorder .end mpc_read_seek .section .text.mpc_read_close,"ax",@progbits .align 2 .align 5 .ent mpc_read_close .type mpc_read_close, @functionmpc_read_close: .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $31,16($sp) lw $4,12($4) jal av_freep addiu $4,$4,16 lw $31,16($sp) move $2,$0 j $31 addiu $sp,$sp,24 .set macro .set reorder .end mpc_read_close .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "Not a Musepack file\012\000" .align 2$LC1: .ascii "Skipping %d(%X) bytes of ID3 data\012\000" .align 2$LC2: .ascii "Can demux Musepack SV7, got version %02X\012\000" .align 2$LC3: .ascii "Too many frames, seeking is not possible\012\000" .globl __divdi3 .section .text.mpc_read_header,"ax",@progbits .align 2 .align 5 .ent mpc_read_header .type mpc_read_header, @functionmpc_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 $19,36($sp) addiu $19,$4,16 sw $22,48($sp) sw $21,44($sp) sw $31,52($sp) sw $20,40($sp) sw $18,32($sp) sw $17,28($sp) sw $16,24($sp) move $21,$4 move $4,$19 jal get_le24 lw $20,12($21) move $3,$2 li $2,2818048 # 0x2b0000 ori $22,$2,0x504d beq $3,$22,$L59 li $2,3342336 # 0x330000 ori $2,$2,0x4449 bne $3,$2,$L74 li $6,3 # 0x3 move $7,$0 jal url_fskip move $4,$19 jal get_byte move $4,$19 move $4,$19 jal get_byte sll $18,$2,21 sll $2,$2,14 move $4,$19 jal get_byte or $18,$18,$2 move $4,$19 jal get_byte move $16,$2 or $18,$18,$2 sll $16,$16,7 or $16,$16,$18 lui $6,%hi($LC1) addiu $6,$6,%lo($LC1) move $4,$21 li $5,2 # 0x2 move $7,$16 sra $17,$16,31 jal av_log sw $16,16($sp) move $4,$19 move $6,$16 jal url_fskip move $7,$17 jal get_le24 move $4,$19 bne $2,$22,$L78 lui $6,%hi($LC0)$L59: jal get_byte move $4,$19 move $7,$2 sw $2,0($20) li $2,7 # 0x7 beq $7,$2,$L65 li $2,23 # 0x17 bne $7,$2,$L75 lui $6,%hi($LC2)$L65: jal get_le32 move $4,$19 move $3,$0 srl $4,$2,28 sll $7,$3,4 move $5,$2 or $7,$4,$7 sll $6,$2,4 blez $7,$L76 sw $5,12($20) lui $6,%hi($LC3)$L79: move $4,$21 addiu $6,$6,%lo($LC3) jal av_log move $5,$0 li $2,-1 # 0xffffffffffffffff$L63: 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$L76: bne $7,$0,$L68 sltu $2,$6,-1 beq $2,$0,$L79 lui $6,%hi($LC3)$L68: jal av_malloc sll $4,$5,4 sw $2,16($20) li $3,8 # 0x8 li $2,-1 # 0xffffffffffffffff sw $2,8($20) sw $3,20($20) sw $0,4($20) sw $0,24($20) move $4,$21 jal av_new_stream move $5,$0 beq $2,$0,$L77 move $18,$2 lw $16,8($2) li $3,1 # 0x1 li $2,65536 # 0x10000 li $4,16 # 0x10 sw $3,224($16) ori $2,$2,0x501f li $3,2 # 0x2 sw $3,68($16) sw $4,28($16) sw $4,392($16) sw $2,228($16) jal av_mallocz li $4,24 # 0x18 lw $3,8($18) sw $2,24($16) lw $5,24($3) move $4,$19 jal get_buffer li $6,16 # 0x10 lw $6,8($18) move $4,$18 lw $2,24($6) li $5,32 # 0x20 lbu $3,2($2) lui $2,%hi(mpc_rate) andi $3,$3,0x3 addiu $2,$2,%lo(mpc_rate) sll $3,$3,2 addu $3,$3,$2 lw $7,0($3) sw $7,64($6) jal av_set_pts_info li $6,1152 # 0x480 lw $3,12($20) lw $8,8($18) li $4,1151991808 # 0x44aa0000 ori $4,$4,0x2000 multu $3,$4 lw $2,64($8) move $3,$0 move $6,$2 sra $7,$2,31 mflo $4 move $2,$0 mfhi $5 sw $2,3824($21) jal __divdi3 sw $3,3828($21) sw $2,3832($21) sw $3,3836($21) 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,$0 j $31 addiu $sp,$sp,56$L74: lui $6,%hi($LC0)$L78: move $4,$21 addiu $6,$6,%lo($LC0) jal av_log move $5,$0 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) li $2,-1 # 0xffffffffffffffff j $31 addiu $sp,$sp,56$L75: move $4,$21 addiu $6,$6,%lo($LC2) jal av_log move $5,$0 j $L63 li $2,-1 # 0xffffffffffffffff$L77: j $L63 li $2,-12 # 0xfffffffffffffff4 .set macro .set reorder .end mpc_read_header .section .text.mpc_read_packet,"ax",@progbits .align 2 .align 5 .ent mpc_read_packet .type mpc_read_packet, @functionmpc_read_packet: .frame $sp,88,$31 # vars= 8, regs= 10/0, args= 40, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-88 sw $21,68($sp) sw $20,64($sp) sw $31,84($sp) sw $fp,80($sp) sw $23,76($sp) sw $22,72($sp) sw $19,60($sp) sw $18,56($sp) sw $17,52($sp) sw $16,48($sp) lw $16,12($4) move $21,$5 lw $17,4($16) lw $2,12($16) move $20,$4 sltu $2,$17,$2 bne $2,$0,$L81 move $5,$17 li $3,-1 # 0xffffffffffffffff$L83: lw $31,84($sp) lw $fp,80($sp) lw $23,76($sp) lw $22,72($sp) lw $21,68($sp) lw $20,64($sp) lw $19,60($sp) lw $18,56($sp) lw $17,52($sp) lw $16,48($sp) move $2,$3 j $31 addiu $sp,$sp,88$L81: lw $2,8($16) addiu $2,$2,1 beq $17,$2,$L99 sll $2,$17,4 lw $3,16($16) addu $2,$2,$3 lw $6,0($2) lw $7,4($2) addiu $22,$4,16 move $4,$22 jal url_fseek sw $0,16($sp) lw $5,4($16) lw $4,16($16) sll $2,$5,4 addu $2,$2,$4 lw $3,12($2) sw $3,20($16) move $23,$3$L84: addiu $2,$5,1 sw $5,8($16) move $4,$22 jal url_ftell sw $2,4($16) move $4,$22 sw $3,44($sp) jal get_le32 sw $2,40($sp) slt $3,$23,13 move $18,$2 beq $3,$0,$L86 move $19,$0 li $4,12 # 0xc subu $4,$4,$23 nor $2,$0,$4 sll $5,$19,1 sll $5,$5,$2 srl $2,$18,$4 andi $6,$4,0x20 sra $3,$19,$4 or $2,$5,$2 li $4,983040 # 0xf0000 movn $2,$3,$6 ori $4,$4,0xffff and $2,$2,$4$L88: addiu $fp,$23,20 lw $6,40($sp) lw $7,44($sp) addu $19,$2,$fp move $4,$22 jal url_fseek sw $0,16($sp) addiu $4,$19,31 li $2,-32 # 0xffffffffffffffe0 lw $3,24($16) and $4,$4,$2 beq $17,$3,$L100 sra $18,$4,3$L89: andi $2,$19,0x1f sw $2,20($16) move $4,$21 jal av_new_packet move $5,$18 bltz $2,$L91 sra $6,$17,31 lw $3,16($21) sb $fp,0($3) lw $2,4($16) lw $3,12($16) lw $4,16($21) sltu $2,$3,$2 sb $2,1($4) lw $5,16($21) sw $6,4($21) sw $17,0($21) sw $0,24($21) addiu $5,$5,4 move $4,$22 jal get_buffer move $6,$18 move $17,$2 lw $2,20($16) bne $2,$0,$L101 move $4,$22 slt $2,$17,$18$L103: bne $2,$0,$L102 addiu $2,$17,4 move $3,$0 j $L83 sw $2,20($21)$L99: lw $23,20($16) j $L84 addiu $22,$4,16$L86: jal get_le32 move $4,$22 move $3,$0 li $6,44 # 0x2c subu $6,$6,$23 or $5,$18,$3 move $4,$0 or $4,$4,$2 sll $3,$5,1 nor $2,$0,$6 sll $3,$3,$2 srl $4,$4,$6 andi $7,$6,0x20 or $4,$3,$4 sra $5,$5,$6 li $2,983040 # 0xf0000 movn $4,$5,$7 ori $2,$2,0xffff j $L88 and $2,$4,$2$L91: j $L83 li $3,-5 # 0xfffffffffffffffb$L101: li $6,-4 # 0xfffffffffffffffc li $7,-1 # 0xffffffffffffffff li $2,1 # 0x1 jal url_fseek sw $2,16($sp) j $L103 slt $2,$17,$18$L100: lw $6,16($16) sll $5,$17,4 addu $5,$5,$6 lw $7,44($sp) lw $6,40($sp) lw $4,100($20) sra $3,$17,31 sw $6,0($5) sw $7,4($5) sw $23,12($5) sw $18,8($5) move $7,$3 li $5,1 # 0x1 move $6,$17 sw $3,20($sp) sw $5,32($sp) sw $17,16($sp) sw $18,24($sp) jal av_add_index_entry sw $0,28($sp) lw $3,24($16) addiu $3,$3,1 j $L89 sw $3,24($16)$L102: lw $2,36($21) beq $2,$0,$L91 nop jal $2 move $4,$21 j $L83 li $3,-5 # 0xfffffffffffffffb .set macro .set reorder .end mpc_read_packet .globl mpc_demuxer .section .rodata.str1.4 .align 2$LC4: .ascii "mpc\000" .align 2$LC5: .ascii "musepack\000" .data .align 2 .type mpc_demuxer, @object .size mpc_demuxer, 64mpc_demuxer: .word $LC4 .word $LC5 .word 28 .word mpc_probe .word mpc_read_header .word mpc_read_packet .word mpc_read_close .word mpc_read_seek .space 8 .word $LC4 .space 20 .rdata .align 2 .type mpc_rate, @object .size mpc_rate, 16mpc_rate: .word 44100 .word 48000 .word 37800 .word 32000 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?