ad_libmad.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 722 行
MID
722 行
.file 1 "ad_libmad.c" .section .mdebug.abi32 .previous .section .text.func_table,"ax",@progbits .align 2 .align 5 .globl func_table .ent func_table .type func_table, @functionfunc_table: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lui $2,%hi(mpcodecs_ad_libmad) j $31 addiu $2,$2,%lo(mpcodecs_ad_libmad) .set macro .set reorder .end func_table .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "libmad: %d bytes processed\012\000" .section .text.read_frame,"ax",@progbits .align 2 .align 5 .ent read_frame .type read_frame, @functionread_frame: .frame $sp,48,$31 # vars= 0, regs= 7/0, args= 16, gp= 0 .mask 0x803f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sw $21,36($sp) sw $20,32($sp) sw $17,20($sp) sw $31,40($sp) sw $19,28($sp) sw $18,24($sp) sw $16,16($sp) lw $19,160($4) move $17,$4 addiu $20,$19,13324 addiu $21,$19,13388$L4: lw $2,56($17) lw $5,52($17) lw $6,60($17) lw $4,4($17) subu $6,$6,$2 jal demux_read_data addu $5,$2,$5 blez $2,$L16 lw $31,40($sp) lw $6,56($17) addu $6,$6,$2 sw $6,56($17)$L6: lw $5,52($17) jal mad_stream_buffer move $4,$20 move $5,$20 jal mad_frame_decode move $4,$21 lw $3,13348($19) move $18,$2 beq $3,$0,$L7 move $5,$3 lw $16,52($17) lw $2,56($17) move $4,$16 addu $16,$16,$2 subu $16,$16,$3 jal memmove move $6,$16 lw $7,56($17) lui $6,%hi($LC0) addiu $6,$6,%lo($LC0) subu $7,$7,$16 li $4,12 # 0xc jal mp_msg li $5,7 # 0x7 sw $16,56($17)$L7: beq $18,$0,$L17 li $2,1 # 0x1 lw $3,13384($19) beq $3,$2,$L4 nop j $L6 lw $6,56($17)$L17: lw $31,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 $31 addiu $sp,$sp,48$L16: lw $21,36($sp) lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) move $2,$0 j $31 addiu $sp,$sp,48 .set macro .set reorder .end read_frame .section .text.init,"ax",@progbits .align 2 .align 5 .ent init .type init, @functioninit: .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $17,20($sp) sw $31,24($sp) sw $16,16($sp) lw $16,160($4) jal read_frame move $17,$4 sw $2,22656($16) li $5,2 # 0x2 li $4,1 # 0x1 beq $2,$0,$L21 move $3,$0 lw $2,13392($16) lw $3,13404($16) movn $4,$5,$2 sw $4,36($17) lw $2,13408($16) srl $3,$3,3 sw $3,44($17) sw $5,32($17) sw $2,28($17) li $3,1 # 0x1$L21: lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) move $2,$3 j $31 addiu $sp,$sp,32 .set macro .set reorder .end init .section .text.control,"ax",@progbits .align 2 .align 5 .ent control .type control, @functioncontrol: .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) sw $7,36($sp) li $2,1 # 0x1 beq $5,$2,$L28 lw $16,160($4) li $2,2 # 0x2 beq $5,$2,$L29 li $3,-1 # 0xffffffffffffffff lw $31,20($sp) lw $16,16($sp) move $2,$3 j $31 addiu $sp,$sp,24$L28: move $4,$16 jal mad_synth_init sw $0,22656($16) jal mad_stream_init addiu $4,$16,13324 jal mad_frame_init addiu $4,$16,13388 li $3,1 # 0x1 lw $31,20($sp) lw $16,16($sp) move $2,$3 j $31 addiu $sp,$sp,24$L29: jal read_frame nop sw $2,22656($16) li $3,1 # 0x1 lw $31,20($sp) lw $16,16($sp) move $2,$3 j $31 addiu $sp,$sp,24 .set macro .set reorder .end control .section .text.uninit,"ax",@progbits .align 2 .align 5 .ent uninit .type uninit, @functionuninit: .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $31,24($sp) sw $17,20($sp) sw $16,16($sp) lw $16,160($4) move $17,$4 jal mad_frame_finish addiu $4,$16,13388 jal mad_stream_finish addiu $4,$16,13324 lw $4,160($17) lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) j uc_free addiu $sp,$sp,32 .set macro .set reorder .end uninit .section .text.preinit,"ax",@progbits .align 2 .align 5 .ent preinit .type preinit, @functionpreinit: .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 addiu $sp,$sp,-32 sw $17,20($sp) move $17,$4 sw $16,16($sp) sw $31,24($sp) .set noreorder .set nomacro jal uc_malloc li $4,22672 # 0x5890 .set macro .set reorder move $16,$2 li $3,4 # 0x4 andi $2,$2,0x3 subu $3,$3,$2 li $2,2 # 0x2 addiu $6,$16,22672 .set noreorder .set nomacro beq $3,$2,$L37 move $4,$16 .set macro .set reorder li $2,3 # 0x3 .set noreorder .set nomacro beq $3,$2,$L38 li $2,1 # 0x1 .set macro .set reorder beq $3,$2,$L57$L35: addiu $5,$4,-4 move $2,$0#APP S32I2M xr1,$2#NO_APP andi $3,$4,0x1f .set noreorder .set nomacro beq $3,$0,$L59 addiu $2,$6,-31 .set macro .set reorder li $2,-32 # 0xffffffffffffffe0 and $2,$5,$2 addiu $4,$2,32 sltu $3,$5,$4 .set noreorder .set nomacro beq $3,$0,$L59 addiu $2,$6,-31 .set macro .set reorder$L51:#APP S32SDI xr1,$5,4#NO_APP sltu $2,$5,$4 .set noreorder .set nomacro bne $2,$0,$L51 addiu $2,$6,-31 .set macro .set reorder$L59: li $3,-32 # 0xffffffffffffffe0 and $3,$2,$3 sltu $4,$5,$3 .set noreorder .set nomacro beq $4,$0,$L60 addiu $2,$6,-4 .set macro .set reorder addiu $2,$5,4$L61:#APP pref 30,0($2) S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4#NO_APP sltu $2,$5,$3 .set noreorder .set nomacro bne $2,$0,$L61 addiu $2,$5,4 .set macro .set reorder addiu $2,$6,-4$L60: li $3,-4 # 0xfffffffffffffffc and $3,$2,$3 sltu $4,$5,$3 beq $4,$0,$L44$L53:#APP S32SDI xr1,$5,4#NO_APP sltu $2,$5,$3 bne $2,$0,$L53$L44: andi $3,$6,0x3 li $2,2 # 0x2 .set noreorder .set nomacro beq $3,$2,$L48 addiu $4,$5,4 .set macro .set reorder li $2,3 # 0x3 .set noreorder .set nomacro beq $3,$2,$L49 li $2,1 # 0x1 .set macro .set reorder beq $3,$2,$L58$L46: sw $16,160($17) .set noreorder .set nomacro jal mad_stream_init addiu $4,$16,13324 .set macro .set reorder .set noreorder .set nomacro jal mad_frame_init addiu $4,$16,13388 .set macro .set reorder .set noreorder .set nomacro jal mad_synth_init move $4,$16 .set macro .set reorder li $2,4096 # 0x1000 li $3,9216 # 0x2400 sw $2,48($17) sw $3,64($17) lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) li $2,1 # 0x1 .set noreorder .set nomacro j $31 addiu $sp,$sp,32 .set macro .set reorder$L48: sb $0,4($5) .set noreorder .set nomacro j $L46 sb $0,1($4) .set macro .set reorder$L37: addiu $4,$16,2 sb $0,0($16) .set noreorder .set nomacro j $L35 sb $0,1($16) .set macro .set reorder$L49: sb $0,6($5) sb $0,4($5) .set noreorder .set nomacro j $L46 sb $0,5($5) .set macro .set reorder$L38: addiu $4,$16,3 sb $0,0($16) sb $0,1($16) .set noreorder .set nomacro j $L35 sb $0,2($16) .set macro .set reorder$L58: .set noreorder .set nomacro j $L46 sb $0,4($5) .set macro .set reorder$L57: addiu $4,$16,1 .set noreorder .set nomacro j $L35 sb $0,0($16) .set macro .set reorder .end preinit .section .text.decode_audio,"ax",@progbits .align 2 .align 5 .ent decode_audio .type decode_audio, @functiondecode_audio: .frame $sp,56,$31 # vars= 0, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $22,40($sp) sw $21,36($sp) sw $20,32($sp) sw $18,24($sp) sw $31,52($sp) sw $fp,48($sp) sw $23,44($sp) sw $19,28($sp) sw $17,20($sp) sw $16,16($sp) move $22,$4 move $20,$6 move $18,$5 move $21,$7 blez $6,$L63 lw $16,160($4) slt $2,$7,4608 bne $2,$0,$L63 li $2,268369920 # 0xfff0000 ori $19,$2,0xffff move $17,$0 li $23,-268435456 # 0xfffffffff0000000 j $L66 move $fp,$19$L67: move $4,$16$L83: sw $0,22656($16) jal mad_synth_frame addiu $5,$16,13388 addiu $3,$16,4100 lhu $4,4($3) lhu $6,6($3) sll $2,$4,1 mul $9,$6,$2 li $2,2 # 0x2 addu $17,$17,$9 beq $4,$2,$L81 addiu $8,$16,4108 addiu $5,$18,2 li $7,-1 # 0xffffffffffffffff li $11,-268435456 # 0xfffffffff0000000 move $12,$19 li $10,268435456 # 0x10000000$L73: addiu $6,$6,-1 bne $6,$7,$L82 slt $2,$17,$20$L84: beq $2,$0,$L69 addiu $2,$17,4608 slt $2,$21,$2 bne $2,$0,$L69 addu $18,$18,$9$L66: lw $2,22656($16) bne $2,$0,$L83 move $4,$16 jal read_frame move $4,$22 bne $2,$0,$L67 sw $2,22656($16)$L69: beq $17,$0,$L63 move $2,$17 lw $31,52($sp) lw $fp,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 $31 addiu $sp,$sp,56$L82: lw $2,0($8) addiu $8,$8,4 addiu $2,$2,4096 slt $3,$2,$11 movn $2,$11,$3 slt $4,$2,$10 movz $2,$12,$4 sra $2,$2,13 sh $2,-2($5) j $L73 addiu $5,$5,2$L63: li $17,-1 # 0xffffffffffffffff move $2,$17 lw $31,52($sp) lw $fp,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 $31 addiu $sp,$sp,56$L81: addiu $10,$18,4 addiu $7,$16,8720$L72: addiu $6,$6,-1 li $2,-1 # 0xffffffffffffffff beq $6,$2,$L84 slt $2,$17,$20 lw $2,0($8) lw $3,-4($7) addiu $2,$2,4096 addiu $3,$3,4096 slt $4,$2,$23 slt $5,$3,$23 movn $3,$23,$5 movn $2,$23,$4 li $5,268435456 # 0x10000000 slt $4,$2,$5 slt $5,$3,$5 movz $2,$fp,$4 movz $3,$fp,$5 sra $2,$2,13 sra $3,$3,13 sh $2,-4($10) sh $3,-2($10) addiu $8,$8,4 addiu $7,$7,4 j $L72 addiu $10,$10,4 .set macro .set reorder .end decode_audio .globl mpcodecs_ad_libmad .data .align 2 .type mpcodecs_ad_libmad, @object .size mpcodecs_ad_libmad, 24mpcodecs_ad_libmad: .word info .word preinit .word init .word uninit .word control .word decode_audio .section .rodata.str1.4 .align 2$LC1: .ascii "libmad mpeg audio decoder\000" .align 2$LC2: .ascii "libmad\000" .align 2$LC3: .ascii "A'rpi\000" .align 2$LC4: .ascii "libmad...\000" .align 2$LC5: .ascii "based on Xine's libmad/xine_decoder.c\000" .data .align 2 .type info, @object .size info, 20info: .word $LC1 .word $LC2 .word $LC3 .word $LC4 .word $LC5 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?