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 + -
显示快捷键?