ad_imaadpcm.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,047 行
MID
1,047 行
.file 1 "ad_imaadpcm.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 move $8,$4 lw $4,12($4) li $2,8192 # 0x2000 li $3,17 # 0x11 beq $4,$3,$L2 sw $2,64($8) li $2,97 # 0x61 beq $4,$2,$L2 nop li $2,285212672 # 0x11000000 ori $2,$2,0x736d beq $4,$2,$L2 li $3,64 # 0x40 lw $7,4($8) lw $4,156($8) sw $3,88($7) lbu $2,3($4) lbu $3,2($4) sll $2,$2,8 or $2,$2,$3 sll $4,$2,5 sll $2,$2,1 addu $2,$2,$4 sw $2,84($7) move $3,$2 li $2,1 # 0x1 j $31 sw $3,48($8)$L2: lw $3,156($8) lw $7,4($8) lbu $2,3($3) lbu $4,13($3) lbu $5,2($3) lbu $6,12($3) sll $2,$2,8 or $2,$2,$5 sll $4,$4,8 or $4,$4,$6 sll $2,$2,2 subu $2,$4,$2 sll $2,$2,1 sw $2,88($7) move $3,$4 li $2,1 # 0x1 sw $4,84($7) j $31 sw $3,48($8) .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 $2,3($5) lbu $3,2($5) sll $2,$2,8 or $2,$2,$3 sw $2,36($4) lwl $3,7($5) li $2,1 # 0x1 lwr $3,4($5) li $5,2 # 0x2 sw $3,28($4) lw $6,84($8) lw $7,88($8) mul $3,$3,$6 sw $5,32($4) divu $0,$3,$7 teq $7,$0,7 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,$L18 move $3,$4 lw $31,16($sp) move $2,$6 j $31 addiu $sp,$sp,24$L18: 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 .text.decode_audio,"ax",@progbits .align 2 .align 5 .ent decode_audio .type decode_audio, @functiondecode_audio: .frame $sp,56,$31 # vars= 24, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $17,44($sp) sw $16,40($sp) sw $31,48($sp) move $16,$4 lw $4,4($4) move $17,$5 lw $6,84($4) jal demux_read_data lw $5,52($16) move $6,$2 lw $2,4($16) lw $3,84($2) beq $6,$3,$L20 lw $31,48($sp) lw $17,44($sp) lw $16,40($sp) li $2,-1 # 0xffffffffffffffff j $31 addiu $sp,$sp,56$L20: lw $3,12($16) li $2,17 # 0x11 beq $3,$2,$L23 li $2,285212672 # 0x11000000 ori $2,$2,0x736d beq $3,$2,$L23 li $2,97 # 0x61 beq $3,$2,$L144 nop lw $7,52($16) lw $5,156($16) lhu $2,0($7) lbu $3,3($5) sll $4,$2,8 srl $2,$2,8 or $2,$2,$4 andi $6,$2,0xffff lbu $4,2($5) sll $3,$3,8 andi $2,$6,0x8000 or $9,$3,$4 beq $2,$0,$L100 andi $10,$6,0xff80 li $2,-65536 # 0xffffffffffff0000 addu $10,$10,$2$L100: andi $2,$6,0x7f slt $3,$2,89 li $6,88 # 0x58 movz $2,$6,$3 slt $4,$9,2 bne $4,$0,$L145 move $12,$2 lhu $2,34($7) sll $3,$2,8 srl $2,$2,8 or $2,$2,$3 andi $4,$2,0xffff andi $3,$4,0x8000 beq $3,$0,$L105 andi $5,$4,0xff80 li $2,-65536 # 0xffffffffffff0000 addu $5,$5,$2$L105: li $2,32768 # 0x8000 slt $2,$5,$2 li $3,32767 # 0x7fff movn $3,$5,$2 li $11,-32768 # 0xffffffffffff8000 slt $2,$3,-32768 andi $8,$4,0x7f bltz $8,$L146 movz $11,$3,$2 slt $2,$8,89 movz $8,$6,$2$L104: li $2,1 # 0x1 beq $9,$2,$L147 move $4,$7 move $5,$17 addiu $6,$7,32$L114: lbu $2,2($4) andi $2,$2,0xf sh $2,0($5) lbu $3,36($4) andi $3,$3,0xf sh $3,2($5) lbu $2,2($4) srl $2,$2,4 sh $2,4($5) lbu $3,36($4) addiu $4,$4,1 srl $3,$3,4 sh $3,6($5) bne $6,$4,$L114 addiu $5,$5,8 lui $24,%hi(adpcm_step)$L165: addiu $2,$24,%lo(adpcm_step) sll $3,$12,2 sll $4,$8,2 addu $4,$4,$2 addu $3,$3,$2 sll $13,$9,6 lw $5,0($3) blez $13,$L115 lw $6,0($4) li $2,32768 # 0x8000 slt $2,$10,$2 li $3,32767 # 0x7fff movn $3,$10,$2 li $4,-32768 # 0xffffffffffff8000 slt $2,$3,-32768 movz $4,$3,$2 sw $5,16($sp) sw $11,28($sp) sw $12,32($sp) addiu $15,$9,-1 move $5,$17 move $11,$0 move $12,$0 addiu $14,$sp,16 lui $16,%hi(adpcm_index) sw $6,20($sp) sw $4,24($sp) j $L117 sw $8,36($sp)$L149: lw $2,8($9) subu $2,$2,$6 sw $2,8($9) lw $3,8($4) slt $2,$3,-32768 beq $2,$0,$L166 li $2,32768 # 0x8000 li $2,-32768 # 0xffffffffffff8000$L169: sw $2,8($4) addu $6,$10,$14$L170: lw $2,16($6) lw $4,8($6) sll $2,$2,2 addiu $3,$24,%lo(adpcm_step) addu $2,$2,$3 addiu $11,$11,1 sh $4,0($5) lw $2,0($2) beq $13,$11,$L115 addiu $5,$5,2$L151: xor $12,$12,$15 sw $2,0($6)$L117: lhu $8,0($5) addiu $3,$16,%lo(adpcm_index) sll $10,$12,2 sll $2,$8,2 addu $2,$2,$3 addu $6,$10,$14 lw $3,16($6) lw $4,0($2) addu $2,$3,$4 bltz $2,$L148 sw $2,16($6) slt $2,$2,89 bne $2,$0,$L167 addu $9,$10,$14 li $2,88 # 0x58 sw $2,16($6)$L120: addu $9,$10,$14$L167: lw $7,0($9) andi $2,$8,0x4 sra $6,$7,3 addu $3,$6,$7 andi $4,$8,0x2 beq $4,$0,$L124 movn $6,$3,$2 sra $2,$7,1 addu $6,$6,$2$L124: andi $2,$8,0x1 beq $2,$0,$L168 andi $2,$8,0x8 sra $2,$7,2 addu $6,$6,$2 andi $2,$8,0x8$L168: bne $2,$0,$L149 addu $4,$10,$14 lw $2,8($9) addu $2,$6,$2 sw $2,8($9) lw $3,8($4) slt $2,$3,-32768 bne $2,$0,$L169 li $2,-32768 # 0xffffffffffff8000 li $2,32768 # 0x8000$L166: slt $2,$3,$2 bne $2,$0,$L170 addu $6,$10,$14 li $2,32767 # 0x7fff sw $2,8($4) lw $2,16($6) lw $4,8($6) sll $2,$2,2 addiu $3,$24,%lo(adpcm_step) addu $2,$2,$3 addiu $11,$11,1 sh $4,0($5) lw $2,0($2) bne $13,$11,$L151 addiu $5,$5,2$L115: lw $31,48($sp) lw $17,44($sp) lw $16,40($sp) sll $2,$13,1 j $31 addiu $sp,$sp,56$L23: lw $3,156($16) lw $5,52($16) lbu $2,3($3) lhu $16,0($5) lbu $4,2($3) sll $2,$2,8 andi $3,$16,0x8000 bne $3,$0,$L152 or $15,$2,$4 li $2,2 # 0x2 beq $15,$2,$L153 lbu $25,2($5)$L28: li $2,1 # 0x1 beq $15,$2,$L35 move $12,$0 move $14,$0$L32: sll $2,$15,2 subu $10,$6,$2 blez $10,$L34 move $24,$0 move $7,$0 move $6,$0 li $13,1 # 0x1 addu $8,$5,$10 li $9,4 # 0x4 j $L41 li $11,8 # 0x8$L42: beq $7,$11,$L154 nop$L44: addiu $5,$5,1 beq $5,$8,$L34 nop$L41: lbu $2,8($5) sll $4,$6,1 addu $4,$17,$4 andi $2,$2,0xf sh $2,0($4) lbu $3,8($5) addiu $7,$7,1 srl $3,$3,4 sh $3,4($4) bne $7,$9,$L42 addiu $6,$6,4 addiu $5,$5,1 move $24,$6 bne $5,$8,$L41 move $6,$13$L34: lui $24,%hi(adpcm_step) addiu $2,$24,%lo(adpcm_step) sll $3,$25,2 sll $4,$14,2 addu $4,$4,$2 addu $3,$3,$2 sll $13,$10,1 lw $3,0($3) blez $13,$L115 lw $4,0($4) sw $16,24($sp) sw $12,28($sp) sw $14,36($sp) addiu $15,$15,-1 move $5,$17 move $11,$0 move $12,$0 addiu $14,$sp,16 lui $16,%hi(adpcm_index) sw $3,16($sp) sw $4,20($sp) j $L48 sw $25,32($sp)$L156: lw $2,8($9) subu $2,$2,$6 sw $2,8($9) lw $3,8($4) slt $2,$3,-32768 beq $2,$0,$L171 li $2,32768 # 0x8000 li $2,-32768 # 0xffffffffffff8000$L174: sw $2,8($4) addu $6,$10,$14$L175: lw $2,16($6) lw $4,8($6) sll $2,$2,2 addiu $3,$24,%lo(adpcm_step) addu $2,$2,$3 addiu $11,$11,1 sh $4,0($5) lw $2,0($2) beq $13,$11,$L115 addiu $5,$5,2 xor $12,$12,$15 sw $2,0($6)$L48: lhu $8,0($5) addiu $3,$16,%lo(adpcm_index) sll $10,$12,2 sll $2,$8,2 addu $2,$2,$3 addu $6,$10,$14 lw $3,16($6) lw $4,0($2) addu $2,$3,$4 bltz $2,$L155 sw $2,16($6) slt $2,$2,89 bne $2,$0,$L172 addu $9,$10,$14 li $2,88 # 0x58 sw $2,16($6)$L51: addu $9,$10,$14$L172: lw $7,0($9) andi $2,$8,0x4 sra $6,$7,3 addu $3,$6,$7 andi $4,$8,0x2 beq $4,$0,$L55 movn $6,$3,$2 sra $2,$7,1 addu $6,$6,$2$L55: andi $2,$8,0x1 beq $2,$0,$L173 andi $2,$8,0x8 sra $2,$7,2 addu $6,$6,$2 andi $2,$8,0x8$L173: bne $2,$0,$L156 addu $4,$10,$14 lw $2,8($9) addu $2,$6,$2 sw $2,8($9) lw $3,8($4) slt $2,$3,-32768 bne $2,$0,$L174 li $2,-32768 # 0xffffffffffff8000 li $2,32768 # 0x8000$L171: slt $2,$3,$2 bne $2,$0,$L175 addu $6,$10,$14 li $2,32767 # 0x7fff j $L175 sw $2,8($4)$L152: li $2,-65536 # 0xffffffffffff0000 addu $16,$16,$2 li $2,2 # 0x2 bne $15,$2,$L28 lbu $25,2($5) j $L164 lhu $12,4($5)$L144: lw $3,156($16) lw $8,52($16) lbu $2,3($3) lhu $5,0($8) lbu $4,2($3) sll $2,$2,8 andi $3,$5,0x8000 move $10,$5 or $9,$2,$4 bne $3,$0,$L158 sh $5,0($17)$L69: li $2,2 # 0x2 beq $9,$2,$L71 lbu $14,2($8) move $15,$0 move $12,$0$L73: sll $3,$9,2 slt $2,$3,$6 beq $2,$0,$L137 sll $2,$9,1 addu $7,$17,$2 subu $5,$6,$3 addu $4,$8,$3 move $11,$2 addiu $6,$7,2 move $8,$0$L78: lbu $2,0($4) addiu $8,$8,1 srl $2,$2,4 sh $2,0($7) lbu $3,0($4) addiu $7,$7,4 andi $3,$3,0xf sh $3,0($6) addiu $4,$4,1 bne $8,$5,$L78 addiu $6,$6,4$L76: lui $24,%hi(adpcm_step) addiu $4,$24,%lo(adpcm_step) sll $5,$5,1 sll $2,$14,2 sll $3,$12,2 addu $3,$3,$4 addu $2,$2,$4 subu $13,$5,$9 addu $4,$17,$11 lw $2,0($2) blez $13,$L115 lw $3,0($3) sw $15,28($sp) sw $14,16($sp) sw $12,20($sp) addiu $15,$9,-1 move $5,$4 move $11,$0 move $12,$0 addiu $14,$sp,16 lui $16,%hi(adpcm_index) sw $2,32($sp) sw $3,36($sp) j $L81 sw $10,24($sp)$L160: lw $2,8($9) subu $2,$2,$6 sw $2,8($9) lw $3,8($4) slt $2,$3,-32768 beq $2,$0,$L176 li $2,32768 # 0x8000 li $2,-32768 # 0xffffffffffff8000$L179: sw $2,8($4) addu $6,$10,$14$L180: lw $2,0($6) lw $4,8($6) sll $2,$2,2 addiu $3,$24,%lo(adpcm_step) addu $2,$2,$3 addiu $11,$11,1 sh $4,0($5) lw $2,0($2) beq $13,$11,$L115 addiu $5,$5,2 xor $12,$12,$15 sw $2,16($6)$L81: lhu $8,0($5) addiu $3,$16,%lo(adpcm_index) sll $10,$12,2 sll $2,$8,2 addu $2,$2,$3 addu $6,$10,$14 lw $3,0($6) lw $4,0($2) addu $2,$3,$4 bltz $2,$L159 sw $2,0($6) slt $2,$2,89 bne $2,$0,$L177 addu $9,$10,$14 li $2,88 # 0x58 sw $2,0($6)$L84: addu $9,$10,$14$L177: lw $7,16($9) andi $2,$8,0x4 sra $6,$7,3 addu $3,$6,$7 andi $4,$8,0x2 beq $4,$0,$L88 movn $6,$3,$2 sra $2,$7,1 addu $6,$6,$2$L88: andi $2,$8,0x1 beq $2,$0,$L178 andi $2,$8,0x8 sra $2,$7,2 addu $6,$6,$2 andi $2,$8,0x8$L178: bne $2,$0,$L160 addu $4,$10,$14 lw $2,8($9) addu $2,$6,$2 sw $2,8($9) lw $3,8($4) slt $2,$3,-32768 bne $2,$0,$L179 li $2,-32768 # 0xffffffffffff8000 li $2,32768 # 0x8000$L176: slt $2,$3,$2 bne $2,$0,$L180 addu $6,$10,$14 li $2,32767 # 0x7fff j $L180 sw $2,8($4)$L153: lhu $12,4($5)$L164: andi $2,$12,0x8000 bne $2,$0,$L162 li $2,-65536 # 0xffffffffffff0000 j $L32 lbu $14,6($5)$L154: move $13,$6 move $7,$0 j $L44 move $6,$24$L148: j $L120 sw $0,16($6)$L155: j $L51 sw $0,16($6)$L158: li $2,-65536 # 0xffffffffffff0000 j $L69 addu $10,$5,$2$L162: lbu $14,6($5) j $L32 addu $12,$12,$2$L71: lhu $2,4($8) andi $3,$2,0x8000 move $15,$2 beq $3,$0,$L74 sh $2,2($17) li $2,-65536 # 0xffffffffffff0000 addu $15,$15,$2$L74: j $L73 lbu $12,6($8)$L159: j $L84 sw $0,0($6)$L147: move $5,$17 addiu $6,$7,32$L112: lbu $2,2($4) andi $2,$2,0xf sh $2,0($5) lbu $3,2($4) addiu $4,$4,1 srl $3,$3,4 sh $3,2($5) bne $6,$4,$L112 addiu $5,$5,4 j $L165 lui $24,%hi(adpcm_step)$L35: addiu $2,$6,-4 blez $2,$L163 move $10,$2 addu $7,$6,$5 addiu $4,$5,4 move $5,$17$L39: lbu $2,0($4) andi $2,$2,0xf sh $2,0($5) lbu $3,0($4) addiu $4,$4,1 srl $3,$3,4 sh $3,2($5) bne $7,$4,$L39 addiu $5,$5,4 sll $2,$15,2 subu $10,$6,$2 move $12,$0 j $L34 move $14,$0$L145: move $11,$0 j $L104 move $8,$0$L146: j $L104 move $8,$0$L137: subu $5,$6,$3 j $L76 sll $11,$9,1$L163: move $12,$0 j $L34 move $14,$0 .set macro .set reorder .end decode_audio .globl mpcodecs_ad_imaadpcm .data .align 2 .type mpcodecs_ad_imaadpcm, @object .size mpcodecs_ad_imaadpcm, 24mpcodecs_ad_imaadpcm: .word info .word preinit .word init .word uninit .word control .word decode_audio .rdata .align 2 .type adpcm_step, @object .size adpcm_step, 356adpcm_step: .word 7 .word 8 .word 9 .word 10 .word 11 .word 12 .word 13 .word 14 .word 16 .word 17 .word 19 .word 21 .word 23 .word 25 .word 28 .word 31 .word 34 .word 37 .word 41 .word 45 .word 50 .word 55 .word 60 .word 66 .word 73 .word 80 .word 88 .word 97 .word 107 .word 118 .word 130 .word 143 .word 157 .word 173 .word 190 .word 209 .word 230 .word 253 .word 279 .word 307 .word 337 .word 371 .word 408 .word 449 .word 494 .word 544 .word 598 .word 658 .word 724 .word 796 .word 876 .word 963 .word 1060 .word 1166 .word 1282 .word 1411 .word 1552 .word 1707 .word 1878 .word 2066 .word 2272 .word 2499 .word 2749 .word 3024 .word 3327 .word 3660 .word 4026 .word 4428 .word 4871 .word 5358 .word 5894 .word 6484 .word 7132 .word 7845 .word 8630 .word 9493 .word 10442 .word 11487 .word 12635 .word 13899 .word 15289 .word 16818 .word 18500 .word 20350 .word 22385 .word 24623 .word 27086 .word 29794 .word 32767 .align 2 .type adpcm_index, @object .size adpcm_index, 64adpcm_index: .word -1 .word -1 .word -1 .word -1 .word 2 .word 4 .word 6 .word 8 .word -1 .word -1 .word -1 .word -1 .word 2 .word 4 .word 6 .word 8 .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "IMA ADPCM audio decoder\000" .align 2$LC1: .ascii "imaadpcm\000" .align 2$LC2: .ascii "Nick Kurshev\000" .align 2$LC3: .ascii "Mike Melanson\000" .subsection -1 .align 2$LC4: .ascii "\000" .data .align 2 .type info, @object .size info, 20info: .word $LC0 .word $LC1 .word $LC2 .word $LC3 .word $LC4 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?