vocdec.mid

来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 401 行

MID
401
字号
	.file	1 "vocdec.c"	.section .mdebug.abi32	.previous	.section	.rodata.str1.4,"aMS",@progbits,1	.align	2$LC0:	.ascii	"unknown header size: %d\012\000"	.section	.text.voc_read_header,"ax",@progbits	.align	2	.align	5	.ent	voc_read_header	.type	voc_read_header, @functionvoc_read_header:	.frame	$sp,32,$31		# vars= 0, regs= 4/0, args= 16, gp= 0	.mask	0x80070000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-32	sw	$16,16($sp)	addiu	$16,$4,16	sw	$31,28($sp)	sw	$17,20($sp)	li	$6,20			# 0x14	move	$7,$0	sw	$18,24($sp)	move	$17,$4	move	$4,$16	jal	url_fskip	lw	$18,12($17)	jal	get_le16	move	$4,$16	addiu	$3,$2,-22	li	$2,4			# 0x4	move	$4,$16	li	$6,4			# 0x4	move	$7,$0	beq	$3,$2,$L2	move	$5,$0	lui	$6,%hi($LC0)	move	$4,$17	addiu	$6,$6,%lo($LC0)	jal	av_log	move	$7,$3	li	$2,-89			# 0xffffffffffffffa7$L4:	lw	$31,28($sp)	lw	$18,24($sp)	lw	$17,20($sp)	lw	$16,16($sp)	j	$31	addiu	$sp,$sp,32$L2:	jal	url_fskip	nop	move	$4,$17	jal	av_new_stream	move	$5,$0	move	$3,$2	beq	$3,$0,$L4	li	$2,-12			# 0xfffffffffffffff4	lw	$3,8($3)	li	$2,1			# 0x1	sw	$2,224($3)	sw	$0,0($18)	lw	$31,28($sp)	lw	$18,24($sp)	lw	$17,20($sp)	lw	$16,16($sp)	move	$2,$0	j	$31	addiu	$sp,$sp,32	.set	macro	.set	reorder	.end	voc_read_header	.section	.text.voc_probe,"ax",@progbits	.align	2	.align	5	.ent	voc_probe	.type	voc_probe, @functionvoc_probe:	.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)	lw	$16,4($4)	lui	$5,%hi(voc_magic)	move	$4,$16	addiu	$5,$5,%lo(voc_magic)	jal	memcmp	li	$6,20			# 0x14	bne	$2,$0,$L12	move	$4,$0	lbu	$2,23($16)	lbu	$4,22($16)	sll	$2,$2,8	lbu	$3,25($16)	or	$2,$2,$4	lbu	$5,24($16)	sll	$3,$3,8	nor	$2,$0,$2	addiu	$2,$2,4660	or	$3,$3,$5	xor	$3,$3,$2	li	$4,10			# 0xa	li	$2,100			# 0x64	movz	$4,$2,$3$L12:	lw	$31,20($sp)	lw	$16,16($sp)	move	$2,$4	j	$31	addiu	$sp,$sp,24	.set	macro	.set	reorder	.end	voc_probe	.section	.text.voc_get_packet,"ax",@progbits	.align	2	.align	5	.globl	voc_get_packet	.ent	voc_get_packet	.type	voc_get_packet, @functionvoc_get_packet:	.frame	$sp,56,$31		# vars= 0, regs= 9/0, args= 16, gp= 0	.mask	0x80ff0000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-56	sw	$23,44($sp)	sw	$22,40($sp)	sw	$21,36($sp)	sw	$18,24($sp)	sw	$17,20($sp)	sw	$31,48($sp)	sw	$20,32($sp)	sw	$19,28($sp)	sw	$16,16($sp)	lw	$19,12($4)	lw	$20,8($6)	lw	$3,0($19)	move	$23,$5	move	$17,$7	addiu	$18,$4,16	move	$21,$0	li	$22,1			# 0x1$L41:	bne	$3,$0,$L42	nop$L39:	jal	get_byte	move	$4,$18	move	$16,$2	beq	$2,$0,$L33	move	$4,$18$L44:	jal	get_le24	addiu	$17,$17,-4	move	$3,$2	sw	$2,0($19)	li	$2,2			# 0x2	move	$4,$18	beq	$16,$2,$L41	sltu	$5,$16,3	beq	$5,$0,$L26	li	$2,8			# 0x8	li	$2,1			# 0x1	beq	$16,$2,$L43	move	$6,$3$L45:	jal	url_fskip	sra	$7,$3,31	lw	$3,0($19)	move	$4,$18	sw	$0,0($19)	jal	get_byte	subu	$17,$17,$3	move	$16,$2	bne	$2,$0,$L44	move	$4,$18$L33:	lw	$31,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)	li	$2,-5			# 0xfffffffffffffffb	j	$31	addiu	$sp,$sp,56$L26:	beq	$16,$2,$L24	li	$2,9			# 0x9	bne	$16,$2,$L45	move	$6,$3	jal	get_le32	move	$4,$18	sw	$2,64($20)	jal	get_byte	move	$4,$18	sw	$2,392($20)	jal	get_byte	move	$4,$18	sw	$2,68($20)	jal	get_le16	move	$4,$18	lui	$4,%hi(voc_codec_tags)	addiu	$4,$4,%lo(voc_codec_tags)	jal	codec_get_id	move	$5,$2	sw	$2,228($20)	move	$4,$18	li	$6,4			# 0x4	jal	url_fskip	move	$7,$0	lw	$3,0($19)	addiu	$17,$17,-12	addiu	$3,$3,-12	beq	$3,$0,$L39	sw	$3,0($19)$L42:	lw	$3,392($20)	lw	$2,64($20)	slt	$5,$0,$17	mul	$2,$2,$3	sw	$2,4($20)	lw	$3,0($19)	li	$2,2048			# 0x800	movz	$17,$2,$5	slt	$4,$3,$17	move	$6,$3	movz	$6,$17,$4	subu	$3,$3,$6	sw	$3,0($19)	move	$4,$18	move	$5,$23	lw	$31,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	av_get_packet	addiu	$sp,$sp,56$L24:	jal	get_le16	move	$4,$18	move	$4,$18	jal	get_byte	move	$16,$2	jal	get_byte	move	$4,$18	li	$3,65536			# 0x10000	addiu	$22,$2,1	subu	$3,$3,$16	mul	$3,$22,$3	li	$2,255983616			# 0xf420000	ori	$2,$2,0x4000	div	$0,$2,$3	teq	$3,$0,7	addiu	$17,$17,-4	move	$3,$0	sw	$0,0($19)	j	$L41	mflo	$21$L43:	jal	get_byte	move	$4,$18	li	$3,256			# 0x100	subu	$3,$3,$2	li	$2,983040			# 0xf0000	ori	$2,$2,0x4240	div	$0,$2,$3	teq	$3,$0,7	sw	$22,68($20)	move	$4,$18	addiu	$17,$17,-2	li	$22,1			# 0x1	mflo	$2	movn	$2,$21,$21	jal	get_byte	sw	$2,64($20)	lui	$4,%hi(voc_codec_tags)	addiu	$4,$4,%lo(voc_codec_tags)	jal	codec_get_id	move	$5,$2	sw	$2,228($20)	jal	av_get_bits_per_sample	move	$4,$2	sw	$2,392($20)	lw	$3,0($19)	addiu	$3,$3,-2	j	$L41	sw	$3,0($19)	.set	macro	.set	reorder	.end	voc_get_packet	.section	.text.voc_read_packet,"ax",@progbits	.align	2	.align	5	.ent	voc_read_packet	.type	voc_read_packet, @functionvoc_read_packet:	.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0	.mask	0x00000000,0	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		lw	$6,100($4)	j	voc_get_packet	move	$7,$0	.set	macro	.set	reorder	.end	voc_read_packet	.globl	voc_demuxer	.section	.rodata.str1.4	.align	2$LC1:	.ascii	"voc\000"	.align	2$LC2:	.ascii	"Creative Voice File format\000"	.data	.align	2	.type	voc_demuxer, @object	.size	voc_demuxer, 64voc_demuxer:	.word	$LC1	.word	$LC2	.word	4	.word	voc_probe	.word	voc_read_header	.word	voc_read_packet	.space	32	.word	__compound_literal.0	.space	4	.align	2	.type	__compound_literal.0, @object	.size	__compound_literal.0, 8__compound_literal.0:	.word	voc_codec_tags	.word	0	.ident	"GCC: (GNU) 4.1.2"

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?