wv.mid

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

MID
766
字号
	.file	1 "wv.c"	.section .mdebug.abi32	.previous	.section	.text.wv_probe,"ax",@progbits	.align	2	.align	5	.ent	wv_probe	.type	wv_probe, @functionwv_probe:	.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0	.mask	0x00000000,0	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		lw	$2,8($4)	slt	$2,$2,33	bne	$2,$0,$L12	move	$5,$0	lw	$4,4($4)	li	$2,119			# 0x77	lbu	$3,0($4)	beq	$3,$2,$L11	nop$L8:$L12:	j	$31	move	$2,$5$L11:	lbu	$3,1($4)	li	$2,118			# 0x76	bne	$3,$2,$L12	move	$5,$0	lbu	$3,2($4)	li	$2,112			# 0x70	bne	$3,$2,$L12	nop	lbu	$3,3($4)	li	$2,107			# 0x6b	beq	$3,$2,$L8	li	$5,100			# 0x64	j	$L12	move	$5,$0	.set	macro	.set	reorder	.end	wv_probe	.section	.text.wv_read_close,"ax",@progbits	.align	2	.align	5	.ent	wv_read_close	.type	wv_read_close, @functionwv_read_close:	.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	move	$2,$0	.set	macro	.set	reorder	.end	wv_read_close	.section	.rodata.str1.4,"aMS",@progbits,1	.align	2$LC0:	.ascii	"Incorrect block size %i\012\000"	.align	2$LC1:	.ascii	"Unsupported version %03X\012\000"	.align	2$LC2:	.ascii	"Floating point data is not supported\012\000"	.align	2$LC3:	.ascii	"Hybrid coding mode is not supported\012\000"	.align	2$LC4:	.ascii	"Unknown sampling rate\012\000"	.align	2$LC5:	.ascii	"Bits per sample differ, this block: %i, header block: %i"	.ascii	"\012\000"	.align	2$LC6:	.ascii	"Channels differ, this block: %i, header block: %i\012\000"	.align	2$LC7:	.ascii	"Sampling rate differ, this block: %i, header block: %i\012"	.ascii	"\000"	.section	.text.wv_read_block_header,"ax",@progbits	.align	2	.align	5	.ent	wv_read_block_header	.type	wv_read_block_header, @functionwv_read_block_header:	.frame	$sp,48,$31		# vars= 0, regs= 6/0, args= 24, gp= 0	.mask	0x801f0000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-48	sw	$31,44($sp)	sw	$19,36($sp)	sw	$18,32($sp)	sw	$20,40($sp)	sw	$17,28($sp)	sw	$16,24($sp)	lw	$17,12($4)	move	$19,$4	move	$4,$5	jal	url_ftell	move	$18,$5	sw	$3,52($17)	sw	$2,48($17)	jal	get_le32	move	$4,$18	li	$3,1802502144			# 0x6b700000	ori	$3,$3,0x7677	beq	$2,$3,$L48	li	$2,-1			# 0xffffffffffffffff$L18:	lw	$31,44($sp)	lw	$20,40($sp)	lw	$19,36($sp)	lw	$18,32($sp)	lw	$17,28($sp)	lw	$16,24($sp)	j	$31	addiu	$sp,$sp,48$L48:	jal	get_le32	move	$4,$18	addiu	$20,$2,-24	move	$7,$2	li	$2,983040			# 0xf0000	ori	$2,$2,0xfc01	sltu	$2,$20,$2	beq	$2,$0,$L49	lui	$6,%hi($LC0)	sw	$7,0($17)	jal	get_le16	move	$4,$18	move	$7,$2	addiu	$2,$2,-1026	sltu	$2,$2,15	beq	$2,$0,$L50	lui	$6,%hi($LC1)	jal	get_byte	move	$4,$18	jal	get_byte	move	$4,$18	jal	get_le32	move	$4,$18	sw	$2,20($17)	jal	get_le32	move	$4,$18	addiu	$16,$17,32	move	$4,$18	move	$5,$16	sw	$2,24($17)	jal	get_buffer	li	$6,12			# 0xc	lbu	$3,7($16)	lbu	$4,6($16)	lbu	$5,4($16)	sll	$4,$4,16	lbu	$2,5($16)	sll	$3,$3,24	or	$3,$3,$4	or	$3,$3,$5	sll	$2,$2,8	or	$5,$2,$3	andi	$4,$5,0x80	bne	$4,$0,$L51	sw	$5,4($17)	andi	$2,$5,0x8	bne	$2,$0,$L52	srl	$3,$5,21	lui	$2,%hi(wv_rates)	addiu	$2,$2,%lo(wv_rates)	andi	$3,$3,0x3c	addu	$3,$3,$2	lw	$8,0($3)	andi	$4,$5,0x4	li	$9,2			# 0x2	li	$2,1			# 0x1	li	$3,-1			# 0xffffffffffffffff	beq	$8,$3,$L53	movn	$9,$2,$4	andi	$2,$5,0x3	lw	$3,16($17)	addiu	$2,$2,1	beq	$3,$0,$L54	sll	$7,$2,3	lw	$2,12($17)	beq	$2,$0,$L55	nop$L34:	lw	$2,8($17)	beq	$2,$0,$L56	nop$L36:	lw	$2,4($17)	beq	$2,$0,$L38	nop	lw	$2,16($17)$L61:	bne	$7,$2,$L57	move	$5,$0	lw	$2,12($17)	bne	$9,$2,$L58	nop	lw	$2,8($17)	bne	$8,$2,$L59	nop$L38:	sw	$20,0($17)	lw	$31,44($sp)	lw	$20,40($sp)	lw	$19,36($sp)	lw	$18,32($sp)	lw	$17,28($sp)	lw	$16,24($sp)	move	$2,$0	j	$31	addiu	$sp,$sp,48$L56:	lw	$2,4($17)$L62:	beq	$2,$0,$L38	sw	$8,8($17)	j	$L61	lw	$2,16($17)$L55:	lw	$2,8($17)$L63:	bne	$2,$0,$L36	sw	$9,12($17)	j	$L62	lw	$2,4($17)$L54:	lw	$2,12($17)	bne	$2,$0,$L34	sw	$7,16($17)	j	$L63	lw	$2,8($17)$L59:	lui	$6,%hi($LC7)	move	$4,$19	addiu	$6,$6,%lo($LC7)	move	$7,$8	jal	av_log	sw	$2,16($sp)	j	$L18	li	$2,-1			# 0xffffffffffffffff$L49:	move	$4,$19	addiu	$6,$6,%lo($LC0)	jal	av_log	move	$5,$0	j	$L18	li	$2,-1			# 0xffffffffffffffff$L50:	move	$4,$19	addiu	$6,$6,%lo($LC1)	jal	av_log	move	$5,$0	j	$L18	li	$2,-1			# 0xffffffffffffffff$L57:	lui	$6,%hi($LC5)	move	$4,$19	addiu	$6,$6,%lo($LC5)	jal	av_log	sw	$2,16($sp)	j	$L18	li	$2,-1			# 0xffffffffffffffff$L58:	lui	$6,%hi($LC6)	move	$4,$19	addiu	$6,$6,%lo($LC6)	move	$7,$9	jal	av_log	sw	$2,16($sp)	j	$L18	li	$2,-1			# 0xffffffffffffffff$L51:	lui	$6,%hi($LC2)	move	$4,$19	addiu	$6,$6,%lo($LC2)	jal	av_log	move	$5,$0	j	$L18	li	$2,-1			# 0xffffffffffffffff$L52:	lui	$6,%hi($LC3)	move	$4,$19	addiu	$6,$6,%lo($LC3)	jal	av_log	move	$5,$0	j	$L18	li	$2,-1			# 0xffffffffffffffff$L53:	lui	$6,%hi($LC4)	move	$4,$19	addiu	$6,$6,%lo($LC4)	jal	av_log	move	$5,$0	j	$L18	li	$2,-1			# 0xffffffffffffffff	.set	macro	.set	reorder	.end	wv_read_block_header	.section	.text.wv_read_packet,"ax",@progbits	.align	2	.align	5	.ent	wv_read_packet	.type	wv_read_packet, @functionwv_read_packet:	.frame	$sp,64,$31		# vars= 0, regs= 5/0, args= 40, gp= 0	.mask	0x800f0000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-64	sw	$17,44($sp)	addiu	$17,$4,16	sw	$19,52($sp)	sw	$18,48($sp)	move	$19,$4	sw	$31,56($sp)	sw	$16,40($sp)	move	$4,$17	move	$18,$5	jal	url_feof	lw	$16,12($19)	bne	$2,$0,$L81	lw	$31,56($sp)	lw	$2,28($16)	bne	$2,$0,$L77	move	$4,$19$L67:	lw	$5,0($16)	move	$4,$18	jal	av_new_packet	addiu	$5,$5,12	bltz	$2,$L78	addiu	$5,$16,32	lw	$4,16($18)	jal	memcpy	li	$6,12			# 0xc	lw	$5,16($18)	lw	$6,0($16)	move	$4,$17	jal	get_buffer	addiu	$5,$5,12	move	$4,$2	lw	$2,0($16)	bne	$4,$2,$L79	li	$5,1			# 0x1	addiu	$4,$4,12	sw	$0,24($18)	sw	$5,28($16)	sw	$4,20($18)	lw	$2,24($16)	move	$3,$0	sw	$2,0($18)	sw	$3,4($18)	lw	$6,48($16)	lw	$7,52($16)	lw	$4,100($19)	sw	$2,16($sp)	sw	$3,20($sp)	sw	$5,32($sp)	sw	$0,24($sp)	jal	av_add_index_entry	sw	$0,28($sp)	move	$2,$0$L70:	lw	$31,56($sp)$L82:	lw	$19,52($sp)	lw	$18,48($sp)	lw	$17,44($sp)	lw	$16,40($sp)	j	$31	addiu	$sp,$sp,64$L77:	jal	wv_read_block_header	move	$5,$17	bgez	$2,$L67	li	$2,-1			# 0xffffffffffffffff	j	$L82	lw	$31,56($sp)$L79:	lw	$2,36($18)	bne	$2,$0,$L80	lw	$31,56($sp)$L81:	lw	$19,52($sp)	lw	$18,48($sp)	lw	$17,44($sp)	lw	$16,40($sp)	li	$2,-5			# 0xfffffffffffffffb	j	$31	addiu	$sp,$sp,64$L78:	lw	$31,56($sp)	lw	$19,52($sp)	lw	$18,48($sp)	lw	$17,44($sp)	lw	$16,40($sp)	li	$2,-12			# 0xfffffffffffffff4	j	$31	addiu	$sp,$sp,64$L80:	jal	$2	move	$4,$18	j	$L70	li	$2,-5			# 0xfffffffffffffffb	.set	macro	.set	reorder	.end	wv_read_packet	.globl	__divdi3	.section	.text.wv_read_header,"ax",@progbits	.align	2	.align	5	.ent	wv_read_header	.type	wv_read_header, @functionwv_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	$17,20($sp)	addiu	$5,$4,16	sw	$31,28($sp)	sw	$18,24($sp)	sw	$16,16($sp)	move	$17,$4	jal	wv_read_block_header	lw	$16,12($4)	move	$4,$17	bgez	$2,$L89	move	$5,$0$L84:	li	$4,-1			# 0xffffffffffffffff$L87:	lw	$31,28($sp)	lw	$18,24($sp)	lw	$17,20($sp)	lw	$16,16($sp)	move	$2,$4	j	$31	addiu	$sp,$sp,32$L89:	jal	av_new_stream	sw	$0,28($16)	move	$18,$2	move	$4,$2	li	$5,64			# 0x40	beq	$2,$0,$L84	li	$6,1			# 0x1	lw	$3,8($2)	lw	$7,12($16)	li	$2,1			# 0x1	sw	$7,68($3)	lw	$8,8($16)	sw	$2,224($3)	li	$2,65536			# 0x10000	sw	$8,64($3)	ori	$2,$2,0x501c	sw	$2,228($3)	lw	$2,16($16)	sw	$2,392($3)	jal	av_set_pts_info	lw	$7,8($16)	lw	$3,20($16)	lw	$8,8($18)	li	$4,983040			# 0xf0000	ori	$4,$4,0x4240	multu	$3,$4	lw	$2,64($8)	mflo	$4	move	$6,$2	sra	$7,$2,31	move	$3,$0	move	$2,$0	mfhi	$5	sw	$2,3824($17)	jal	__divdi3	sw	$3,3828($17)	move	$4,$0	sw	$2,3832($17)	j	$L87	sw	$3,3836($17)	.set	macro	.set	reorder	.end	wv_read_header	.section	.text.wv_read_seek,"ax",@progbits	.align	2	.align	5	.ent	wv_read_seek	.type	wv_read_seek, @functionwv_read_seek:	.frame	$sp,120,$31		# vars= 56, regs= 10/0, args= 24, gp= 0	.mask	0xc0ff0000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-120	sll	$5,$5,2	sw	$21,100($sp)	sw	$20,96($sp)	sw	$18,88($sp)	sw	$31,116($sp)	sw	$fp,112($sp)	sw	$23,108($sp)	sw	$22,104($sp)	sw	$19,92($sp)	sw	$17,84($sp)	sw	$16,80($sp)	addu	$5,$5,$4	lw	$16,100($5)	lw	$2,136($sp)	move	$18,$4	sw	$2,16($sp)	move	$4,$16	move	$20,$6	move	$21,$7	jal	av_index_search_timestamp	lw	$17,12($18)	bltz	$2,$L91	move	$3,$2	lw	$4,144($16)	sll	$3,$3,3	sll	$2,$2,5	subu	$2,$2,$3	addu	$2,$2,$4	lw	$6,0($2)	lw	$7,4($2)	li	$3,1			# 0x1	sw	$3,28($17)	addiu	$4,$18,16	jal	url_fseek	sw	$0,16($sp)	move	$2,$0$L93:	lw	$31,116($sp)$L118:	lw	$fp,112($sp)	lw	$23,108($sp)	lw	$22,104($sp)	lw	$21,100($sp)	lw	$20,96($sp)	lw	$19,92($sp)	lw	$18,88($sp)	lw	$17,84($sp)	lw	$16,80($sp)	j	$31	addiu	$sp,$sp,120$L91:	bltz	$21,$L93	li	$2,-1			# 0xffffffffffffffff	lw	$3,3836($18)	slt	$2,$21,$3	bne	$2,$0,$L116	addiu	$fp,$18,16	bne	$3,$21,$L93	li	$2,-1			# 0xffffffffffffffff	lw	$2,3832($18)	sltu	$2,$20,$2	beq	$2,$0,$L93	li	$2,-1			# 0xffffffffffffffff	addiu	$fp,$18,16$L116:	jal	url_ftell	move	$4,$fp	move	$22,$2	move	$23,$3	addiu	$19,$sp,24$L113:	move	$4,$18$L117:	jal	av_read_frame	move	$5,$19	bltz	$2,$L108	move	$4,$19	lw	$2,60($sp)	lw	$16,24($sp)	beq	$2,$0,$L102	lw	$17,28($sp)	jal	$2	nop$L102:	slt	$2,$17,$21	bne	$2,$0,$L113	sltu	$3,$16,$20	bne	$17,$21,$L93	move	$2,$0	bne	$3,$0,$L117	move	$4,$18	j	$L118	lw	$31,116($sp)$L108:	move	$4,$fp	move	$6,$22	move	$7,$23	jal	url_fseek	sw	$0,16($sp)	j	$L93	li	$2,-1			# 0xffffffffffffffff	.set	macro	.set	reorder	.end	wv_read_seek	.globl	wv_demuxer	.section	.rodata.str1.4	.align	2$LC8:	.ascii	"wv\000"	.align	2$LC9:	.ascii	"WavPack\000"	.data	.align	2	.type	wv_demuxer, @object	.size	wv_demuxer, 64wv_demuxer:	.word	$LC8	.word	$LC9	.word	56	.word	wv_probe	.word	wv_read_header	.word	wv_read_packet	.word	wv_read_close	.word	wv_read_seek	.space	32	.rdata	.align	2	.type	wv_rates, @object	.size	wv_rates, 64wv_rates:	.word	6000	.word	8000	.word	9600	.word	11025	.word	12000	.word	16000	.word	22050	.word	24000	.word	32000	.word	44100	.word	48000	.word	64000	.word	88200	.word	96000	.word	192000	.word	-1	.ident	"GCC: (GNU) 4.1.2"

⌨️ 快捷键说明

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