ad_msadpcm.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 585 行
MID
585 行
.file 1 "ad_msadpcm.c" .section .mdebug.abi32 .previous .section .text.preinit,"ax",@progbits .align 2 .align 5 .ent preinit .type preinit, @functionpreinit: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $5,156($4) lw $7,4($4) lbu $2,13($5) lbu $3,12($5) sll $2,$2,8 or $2,$2,$3 sll $2,$2,2 sw $2,64($4) lbu $3,13($5) lbu $6,12($5) sll $3,$3,8 or $3,$3,$6 sll $2,$3,1 addiu $2,$2,-12 sw $2,88($7) li $2,1 # 0x1 sw $3,84($7) j $31 sw $3,48($4) .set macro .set reorder .end preinit .section .text.init,"ax",@progbits .align 2 .align 5 .ent init .type init, @functioninit: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $5,156($4) lw $8,4($4) lbu $6,3($5) lbu $2,2($5) sll $6,$6,8 or $6,$6,$2 sw $6,36($4) lwl $7,7($5) li $2,1 # 0x1 lwr $7,4($5) sw $7,28($4) lbu $3,13($5) mul $7,$7,$6 lbu $6,12($5) sll $3,$3,8 or $3,$3,$6 mul $3,$3,$7 lw $6,88($8) li $5,2 # 0x2 divu $0,$3,$6 teq $6,$0,7 sw $5,32($4) mflo $3 j $31 sw $3,44($4) .set macro .set reorder .end init .section .text.uninit,"ax",@progbits .align 2 .align 5 .ent uninit .type uninit, @functionuninit: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j $31 nop .set macro .set reorder .end uninit .section .text.control,"ax",@progbits .align 2 .align 5 .ent control .type control, @functioncontrol: .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 li $2,2 # 0x2 sw $31,16($sp) li $6,-1 # 0xffffffffffffffff sw $7,36($sp) beq $5,$2,$L13 move $3,$4 lw $31,16($sp) move $2,$6 j $31 addiu $sp,$sp,24$L13: lw $4,4($4) lw $5,52($3) jal demux_read_data lw $6,84($4) li $6,1 # 0x1 lw $31,16($sp) move $2,$6 j $31 addiu $sp,$sp,24 .set macro .set reorder .end control .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "MS ADPCM: coefficient (%d) out of range (should be [0..6" .ascii "])\012\000" .section .text.decode_audio,"ax",@progbits .align 2 .align 5 .ent decode_audio .type decode_audio, @functiondecode_audio: .frame $sp,88,$31 # vars= 40, regs= 7/0, args= 16, gp= 0 .mask 0x803f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-88 sw $19,68($sp) sw $16,56($sp) sw $31,80($sp) sw $21,76($sp) sw $20,72($sp) sw $18,64($sp) sw $17,60($sp) move $16,$4 lw $4,4($4) move $19,$5 lw $6,84($4) jal demux_read_data lw $5,52($16) lw $3,4($16) lw $4,84($3) beq $2,$4,$L15 lw $31,80($sp) lw $21,76($sp) lw $20,72($sp) lw $19,68($sp) lw $18,64($sp) lw $17,60($sp) lw $16,56($sp) li $2,-1 # 0xffffffffffffffff j $31 addiu $sp,$sp,88$L15: lw $2,156($16) lw $16,52($16) lbu $4,13($2) lbu $3,3($2) lbu $7,0($16) lbu $5,2($2) lbu $6,12($2) sll $3,$3,8 sll $4,$4,8 sltu $2,$7,7 or $17,$3,$5 beq $2,$0,$L61 or $18,$4,$6 lui $2,%hi(ms_adapt_coeff1) lui $3,%hi(ms_adapt_coeff2) sll $4,$7,2 addiu $21,$2,%lo(ms_adapt_coeff1) addiu $20,$3,%lo(ms_adapt_coeff2) addu $5,$4,$20 addu $4,$4,$21 lw $2,0($4) lw $3,0($5) sw $2,40($sp) li $2,2 # 0x2 beq $17,$2,$L20 sw $3,48($sp)$L67: li $2,1 # 0x1 li $5,3 # 0x3 li $7,5 # 0x5 li $6,5 # 0x5 li $14,7 # 0x7$L22: addu $3,$16,$2 lbu $2,1($3) lbu $4,0($3) sll $2,$2,8 addu $4,$4,$2 andi $3,$4,0x8000 beq $3,$0,$L25 sw $4,16($sp) li $2,-65536 # 0xffffffffffff0000 addu $2,$4,$2 sw $2,16($sp)$L25: li $2,2 # 0x2 beq $17,$2,$L62 addu $3,$16,$5$L27: addu $3,$5,$16 lbu $2,1($3) lbu $4,0($3) sll $2,$2,8 addu $4,$4,$2 andi $3,$4,0x8000 beq $3,$0,$L31 sw $4,24($sp) li $2,-65536 # 0xffffffffffff0000 addu $2,$4,$2 sw $2,24($sp)$L31: li $2,2 # 0x2 beq $17,$2,$L63 addu $3,$16,$6$L33: addu $3,$6,$16 lbu $2,1($3) lbu $4,0($3) sll $2,$2,8 addu $4,$4,$2 andi $3,$4,0x8000 beq $3,$0,$L37 sw $4,32($sp) li $2,-65536 # 0xffffffffffff0000 addu $2,$4,$2 sw $2,32($sp)$L37: li $2,2 # 0x2 beq $17,$2,$L64 li $2,1 # 0x1 beq $17,$2,$L65 lw $2,32($sp)$L43: lw $2,32($sp) lw $3,36($sp) sh $2,0($19) sh $3,2($19) lw $2,24($sp) lw $3,28($sp) sh $2,4($19) sh $3,6($19) li $4,4 # 0x4$L45: slt $2,$14,$18 beq $2,$0,$L46 sll $2,$4,1 li $12,1 # 0x1 addu $9,$19,$2 addu $11,$14,$16 addiu $15,$17,-1 move $13,$0 addiu $20,$sp,16 lui $19,%hi(ms_adapt_table) li $25,32767 # 0x7fff li $24,-32768 # 0xffffffffffff8000 beq $12,$0,$L49 li $16,32768 # 0x8000$L66: lbu $2,0($11) srl $2,$2,4 move $8,$2$L51: sll $4,$13,2 addu $7,$4,$20 sll $6,$2,2 andi $3,$8,0x8 addiu $2,$8,-16 movn $8,$2,$3 lw $3,16($7) lw $2,32($7) lw $10,8($7) mult $3,$2 lw $2,24($7) addiu $5,$19,%lo(ms_adapt_table) madd $10,$2 lw $4,0($7) mflo $2 addu $6,$6,$5 lw $5,0($6) slt $3,$2,0 addiu $6,$2,255 movn $2,$6,$3 mul $3,$8,$4 mul $5,$4,$5 sra $2,$2,8 addu $4,$3,$2 slt $6,$4,$16 addiu $3,$5,255 slt $2,$5,0 movn $5,$3,$2 movz $4,$25,$6 sra $5,$5,8 slt $2,$4,-32768 movn $4,$24,$2 slt $3,$5,16 xori $12,$12,0x1 xor $13,$13,$15 slt $6,$14,$18 sh $4,0($9) beq $3,$0,$L56 sw $5,0($7) li $2,16 # 0x10 sw $2,0($7)$L56: beq $6,$0,$L46 addiu $9,$9,2 sw $4,8($7) bne $12,$0,$L66 sw $10,16($7)$L49: lbu $2,0($11) addiu $14,$14,1 andi $8,$2,0xf addiu $11,$11,1 j $L51 move $2,$8$L46: sll $2,$17,3 sll $3,$17,1 subu $2,$2,$3 subu $2,$18,$2 lw $31,80($sp) lw $21,76($sp) lw $20,72($sp) lw $19,68($sp) lw $18,64($sp) lw $17,60($sp) lw $16,56($sp) sll $2,$2,2 j $31 addiu $sp,$sp,88$L61: lui $6,%hi($LC0) li $4,12 # 0xc li $5,2 # 0x2 jal mp_msg addiu $6,$6,%lo($LC0) lbu $7,0($16) lui $2,%hi(ms_adapt_coeff1) lui $3,%hi(ms_adapt_coeff2) sll $4,$7,2 addiu $21,$2,%lo(ms_adapt_coeff1) addiu $20,$3,%lo(ms_adapt_coeff2) addu $5,$4,$20 addu $4,$4,$21 lw $2,0($4) lw $3,0($5) sw $2,40($sp) li $2,2 # 0x2 bne $17,$2,$L67 sw $3,48($sp)$L20: lbu $7,1($16) sltu $2,$7,7 beq $2,$0,$L68 li $4,12 # 0xc$L23: sll $2,$7,2 addu $5,$2,$20 addu $2,$2,$21 lw $3,0($2) lw $4,0($5) li $2,2 # 0x2 li $5,4 # 0x4 li $7,6 # 0x6 li $6,6 # 0x6 li $14,8 # 0x8 sw $3,44($sp) j $L22 sw $4,52($sp)$L64: addu $3,$16,$14 lbu $2,1($3) lbu $4,0($3) sll $2,$2,8 addu $4,$4,$2 andi $3,$4,0x8000 beq $3,$0,$L41 sw $4,36($sp) li $2,-65536 # 0xffffffffffff0000 addu $2,$4,$2 sw $2,36($sp)$L41: j $L43 addiu $14,$14,2$L63: lbu $2,1($3) lbu $4,0($3) sll $2,$2,8 addu $4,$4,$2 andi $3,$4,0x8000 beq $3,$0,$L60 sw $4,28($sp) li $2,-65536 # 0xffffffffffff0000 addu $2,$4,$2 sw $2,28($sp)$L60: move $6,$14 j $L33 addiu $14,$14,2$L62: lbu $2,1($3) lbu $4,0($3) sll $2,$2,8 addu $4,$4,$2 andi $3,$4,0x8000 bne $3,$0,$L29 sw $4,20($sp) move $5,$7 addiu $6,$7,2 j $L27 addiu $14,$7,4$L65: lw $3,24($sp) li $4,2 # 0x2 sh $2,0($19) j $L45 sh $3,2($19)$L29: li $2,-65536 # 0xffffffffffff0000 addu $2,$4,$2 move $5,$7 addiu $6,$7,2 addiu $14,$7,4 j $L27 sw $2,20($sp)$L68: lui $6,%hi($LC0) addiu $6,$6,%lo($LC0) jal mp_msg li $5,2 # 0x2 j $L23 lbu $7,1($16) .set macro .set reorder .end decode_audio .globl mpcodecs_ad_msadpcm .data .align 2 .type mpcodecs_ad_msadpcm, @object .size mpcodecs_ad_msadpcm, 24mpcodecs_ad_msadpcm: .word info .word preinit .word init .word uninit .word control .word decode_audio .rdata .align 2 .type ms_adapt_coeff1, @object .size ms_adapt_coeff1, 28ms_adapt_coeff1: .word 256 .word 512 .word 0 .word 192 .word 240 .word 460 .word 392 .align 2 .type ms_adapt_coeff2, @object .size ms_adapt_coeff2, 28ms_adapt_coeff2: .word 0 .word -256 .word 0 .word 64 .word 0 .word -208 .word -232 .align 2 .type ms_adapt_table, @object .size ms_adapt_table, 64ms_adapt_table: .word 230 .word 230 .word 230 .word 230 .word 307 .word 409 .word 512 .word 614 .word 768 .word 614 .word 512 .word 409 .word 307 .word 230 .word 230 .word 230 .section .rodata.str1.4 .align 2$LC1: .ascii "MS ADPCM audio decoder\000" .align 2$LC2: .ascii "msadpcm\000" .align 2$LC3: .ascii "Nick Kurshev\000" .align 2$LC4: .ascii "Mike Melanson\000" .subsection -1 .align 2$LC5: .ascii "\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 + -
显示快捷键?