bethsoftvid.mid

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

MID
876
字号
	.file	1 "bethsoftvid.c"	.section .mdebug.abi32	.previous	.section	.text.vid_probe,"ax",@progbits	.align	2	.align	5	.ent	vid_probe	.type	vid_probe, @functionvid_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,4($4)	lbu	$3,3($2)	lbu	$5,2($2)	lbu	$6,0($2)	lbu	$4,1($2)	sll	$5,$5,16	sll	$3,$3,24	or	$3,$3,$5	or	$3,$3,$6	sll	$4,$4,8	li	$2,4456448			# 0x440000	or	$4,$4,$3	ori	$2,$2,0x4956	xor	$4,$4,$2	li	$2,100			# 0x64	j	$31	movn	$2,$0,$4	.set	macro	.set	reorder	.end	vid_probe	.section	.rodata.str1.4,"aMS",@progbits,1	.align	2$LC0:	.ascii	"reached terminating character but not all frames read.\012"	.ascii	"\000"	.align	2$LC1:	.ascii	"unknown block (character = %c, decimal = %d, hex = %x)!!"	.ascii	"!\012\000"	.section	.text.vid_read_packet,"ax",@progbits	.align	2	.align	5	.ent	vid_read_packet	.type	vid_read_packet, @functionvid_read_packet:	.frame	$sp,88,$31		# vars= 24, regs= 10/0, args= 24, gp= 0	.mask	0xc0ff0000,-4	.fmask	0x00000000,0	addiu	$sp,$sp,-88	sw	$19,60($sp)	sw	$17,52($sp)	sw	$31,84($sp)	sw	$fp,80($sp)	sw	$23,76($sp)	sw	$22,72($sp)	sw	$21,68($sp)	sw	$20,64($sp)	sw	$18,56($sp)	sw	$16,48($sp)	lw	$18,12($4)	move	$17,$4	lw	$2,12($18)	.set	noreorder	.set	nomacro	beq	$2,$0,$L65	move	$19,$5	.set	macro	.set	reorder$L7:	li	$16,-5			# 0xfffffffffffffffb$L21:	move	$2,$16$L73:	lw	$31,84($sp)	lw	$fp,80($sp)	lw	$23,76($sp)	lw	$22,72($sp)	lw	$21,68($sp)	lw	$20,64($sp)	lw	$19,60($sp)	lw	$18,56($sp)	lw	$17,52($sp)	lw	$16,48($sp)	.set	noreorder	.set	nomacro	j	$31	addiu	$sp,$sp,88	.set	macro	.set	reorder$L65:	addiu	$20,$4,16	.set	noreorder	.set	nomacro	jal	url_feof	move	$4,$20	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	bne	$2,$0,$L21	li	$16,-5			# 0xfffffffffffffffb	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	jal	get_byte	move	$4,$20	.set	macro	.set	reorder	andi	$16,$2,0x00ff	sltu	$2,$16,5	.set	noreorder	.set	nomacro	beq	$2,$0,$L16	li	$2,124			# 0x7c	.set	macro	.set	reorder	sltu	$2,$16,3	.set	noreorder	.set	nomacro	beq	$2,$0,$L11	li	$3,1			# 0x1	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	beq	$16,$3,$L11	li	$2,2			# 0x2	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	beq	$16,$2,$L66	li	$6,-1			# 0xffffffffffffffff	.set	macro	.set	reorder	lui	$6,%hi($LC1)$L74:	move	$7,$16	move	$4,$17	addiu	$6,$6,%lo($LC1)	move	$5,$0	sw	$16,16($sp)	.set	noreorder	.set	nomacro	jal	av_log	sw	$16,20($sp)	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	j	$L21	li	$16,-1			# 0xffffffffffffffff	.set	macro	.set	reorder$L16:	.set	noreorder	.set	nomacro	beq	$16,$2,$L14	li	$2,125			# 0x7d	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	beq	$16,$2,$L15	li	$2,20			# 0x14	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	bne	$16,$2,$L74	lui	$6,%hi($LC1)	.set	macro	.set	reorder	lw	$2,0($18)	.set	noreorder	.set	nomacro	beq	$2,$0,$L75	li	$2,1			# 0x1	.set	macro	.set	reorder	lui	$6,%hi($LC0)	move	$4,$17	addiu	$6,$6,%lo($LC0)	.set	noreorder	.set	nomacro	jal	av_log	li	$5,1			# 0x1	.set	macro	.set	reorder	li	$2,1			# 0x1$L75:	li	$16,-5			# 0xfffffffffffffffb	.set	noreorder	.set	nomacro	j	$L21	sw	$2,12($18)	.set	macro	.set	reorder$L11:	lw	$2,100($17)	li	$4,1000			# 0x3e8	lw	$3,8($2)	li	$2,1000			# 0x3e8	lw	$6,44($3)	lw	$5,40($3)	sw	$2,24($sp)	mul	$2,$5,$6	.set	noreorder	.set	nomacro	jal	av_malloc	sw	$2,32($sp)	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	beq	$2,$0,$L23	move	$21,$2	.set	macro	.set	reorder	move	$4,$20	.set	noreorder	.set	nomacro	jal	url_ftell	andi	$fp,$16,0x00ff	.set	macro	.set	reorder	sw	$2,40($sp)	sw	$3,44($sp)	sb	$fp,0($21)	lw	$16,8($18)	lw	$17,4($18)	.set	noreorder	.set	nomacro	jal	get_le16	move	$4,$20	.set	macro	.set	reorder	addu	$16,$16,$17	addu	$2,$2,$16	sw	$2,8($18)	li	$2,4			# 0x4	.set	noreorder	.set	nomacro	bne	$fp,$2,$L67	move	$4,$20	.set	macro	.set	reorder	addiu	$5,$21,1	.set	noreorder	.set	nomacro	jal	get_buffer	li	$6,2			# 0x2	.set	macro	.set	reorder	li	$3,2			# 0x2	beq	$2,$3,$L68$L28:	.set	noreorder	.set	nomacro	jal	av_free	move	$4,$21	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	j	$L21	li	$16,-1			# 0xffffffffffffffff	.set	macro	.set	reorder$L14:	.set	noreorder	.set	nomacro	jal	get_le16	move	$4,$20	.set	macro	.set	reorder	lw	$3,104($17)	move	$4,$20	.set	noreorder	.set	nomacro	jal	get_byte	lw	$16,8($3)	.set	macro	.set	reorder	li	$3,256			# 0x100	subu	$3,$3,$2	li	$2,983040			# 0xf0000	ori	$2,$2,0x4240	div	$0,$2,$3	teq	$3,$0,7	lw	$4,104($17)	lw	$5,8($4)	lw	$3,68($5)	lw	$6,392($5)	mflo	$2	sw	$2,64($16)	lw	$4,64($5)	mul	$3,$3,$4	mul	$3,$3,$6	sw	$3,4($5)$L15:	.set	noreorder	.set	nomacro	jal	get_le16	move	$4,$20	.set	macro	.set	reorder	move	$6,$2	move	$4,$20	move	$5,$19	.set	noreorder	.set	nomacro	jal	av_get_packet	move	$16,$2	.set	macro	.set	reorder	li	$3,1			# 0x1	.set	noreorder	.set	nomacro	bne	$16,$2,$L7	sw	$3,24($19)	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	j	$L73	move	$2,$16	.set	macro	.set	reorder$L23:	.set	noreorder	.set	nomacro	j	$L21	li	$16,-12			# 0xfffffffffffffff4	.set	macro	.set	reorder$L68:	li	$16,3			# 0x3$L27:	.set	noreorder	.set	nomacro	j	$L30	move	$22,$0	.set	macro	.set	reorder$L71:	li	$2,3			# 0x3	.set	noreorder	.set	nomacro	beq	$fp,$2,$L69	move	$4,$20	.set	macro	.set	reorder$L34:	andi	$2,$17,0x7f$L77:	lw	$3,32($sp)	addu	$22,$22,$2	.set	noreorder	.set	nomacro	beq	$3,$22,$L70	slt	$2,$3,$22	.set	macro	.set	reorder	bne	$2,$0,$L28	.set	noreorder	.set	nomacro	beq	$17,$0,$L76	move	$4,$19	.set	macro	.set	reorder$L30:	move	$4,$21	addiu	$6,$16,1000	.set	noreorder	.set	nomacro	jal	av_fast_realloc	addiu	$5,$sp,24	.set	macro	.set	reorder	move	$23,$2	move	$4,$20	.set	noreorder	.set	nomacro	beq	$2,$0,$L23	move	$21,$2	.set	macro	.set	reorder	jal	get_byte	move	$17,$2	slt	$3,$17,128	addu	$2,$23,$16	sb	$17,0($2)	.set	noreorder	.set	nomacro	beq	$3,$0,$L71	addiu	$16,$16,1	.set	macro	.set	reorder	addu	$5,$23,$16	move	$4,$20	.set	noreorder	.set	nomacro	beq	$17,$0,$L34	move	$6,$17	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	jal	get_buffer	addu	$16,$16,$17	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	beq	$17,$2,$L77	andi	$2,$17,0x7f	.set	macro	.set	reorder	j	$L28$L70:	.set	noreorder	.set	nomacro	jal	get_byte	move	$4,$20	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	beq	$2,$0,$L76	move	$4,$19	.set	macro	.set	reorder	li	$2,1			# 0x1	move	$4,$20	li	$6,-1			# 0xffffffffffffffff	li	$7,-1			# 0xffffffffffffffff	.set	noreorder	.set	nomacro	jal	url_fseek	sw	$2,16($sp)	.set	macro	.set	reorder	move	$4,$19$L76:	.set	noreorder	.set	nomacro	jal	av_new_packet	move	$5,$16	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	bltz	$2,$L28	sltu	$2,$16,32	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	bne	$2,$0,$L44	lw	$4,16($19)	.set	macro	.set	reorder	andi	$2,$4,0x3	.set	noreorder	.set	nomacro	bne	$2,$0,$L44	andi	$2,$23,0x3	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	bne	$2,$0,$L78	move	$5,$23	.set	macro	.set	reorder	li	$2,-32			# 0xffffffffffffffe0	addiu	$4,$4,-4	and	$2,$16,$2	addu	$6,$4,$2	sltu	$3,$4,$6	.set	noreorder	.set	nomacro	beq	$3,$0,$L48	addiu	$5,$23,-4	.set	macro	.set	reorder$L59:#APP	S32LDI xr1,$5,4	S32LDI xr2,$5,4	S32LDI xr3,$5,4	S32LDI xr4,$5,4	S32LDI xr5,$5,4	S32LDI xr6,$5,4	S32LDI xr7,$5,4	S32LDI xr8,$5,4	S32SDI xr1,$4,4	S32SDI xr2,$4,4	S32SDI xr3,$4,4	S32SDI xr4,$4,4	S32SDI xr5,$4,4	S32SDI xr6,$4,4	S32SDI xr7,$4,4	S32SDI xr8,$4,4#NO_APP	sltu	$2,$4,$6	bne	$2,$0,$L59$L48:	andi	$2,$16,0x1c	addu	$6,$6,$2	sltu	$3,$4,$6	.set	noreorder	.set	nomacro	beq	$3,$0,$L79	andi	$3,$16,0x3	.set	macro	.set	reorder$L60:#APP	S32LDI xr1,$5,4	S32SDI xr1,$4,4#NO_APP	sltu	$2,$4,$6	.set	noreorder	.set	nomacro	bne	$2,$0,$L60	andi	$3,$16,0x3	.set	macro	.set	reorder$L79:	li	$2,2			# 0x2	.set	noreorder	.set	nomacro	beq	$3,$2,$L54	li	$2,3			# 0x3	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	beq	$3,$2,$L55	li	$2,1			# 0x1	.set	macro	.set	reorder	bne	$3,$2,$L52	lbu	$2,4($5)	sb	$2,4($4)$L52:	.set	noreorder	.set	nomacro	jal	av_free	move	$4,$23	.set	macro	.set	reorder	sw	$0,24($19)	lw	$3,40($sp)	lw	$6,8($18)	lw	$2,0($18)	addiu	$4,$3,-1	sra	$5,$4,31	sra	$3,$6,31	addiu	$2,$2,-1	sw	$3,4($19)	sw	$2,0($18)	sw	$5,52($19)	sw	$4,48($19)	.set	noreorder	.set	nomacro	j	$L21	sw	$6,0($19)	.set	macro	.set	reorder$L44:	move	$5,$23$L78:	.set	noreorder	.set	nomacro	jal	memcpy	move	$6,$16	.set	macro	.set	reorder	j	$L52$L67:	.set	noreorder	.set	nomacro	j	$L27	li	$16,1			# 0x1	.set	macro	.set	reorder$L66:	li	$7,-1			# 0xffffffffffffffff	move	$4,$20	.set	noreorder	.set	nomacro	jal	url_fseek	sw	$3,16($sp)	.set	macro	.set	reorder	move	$4,$20	move	$5,$19	.set	noreorder	.set	nomacro	jal	av_get_packet	li	$6,769			# 0x301	.set	macro	.set	reorder	move	$16,$2	li	$2,769			# 0x301	bne	$16,$2,$L72	.set	noreorder	.set	nomacro	j	$L21	sw	$0,24($19)	.set	macro	.set	reorder$L69:	jal	get_byte	addu	$3,$23,$16	addiu	$16,$16,1	.set	noreorder	.set	nomacro	j	$L34	sb	$2,0($3)	.set	macro	.set	reorder$L72:	.set	noreorder	.set	nomacro	beq	$19,$0,$L21	li	$16,-5			# 0xfffffffffffffffb	.set	macro	.set	reorder	lw	$2,36($19)	beq	$2,$0,$L21	.set	noreorder	.set	nomacro	jal	$2	move	$4,$19	.set	macro	.set	reorder	.set	noreorder	.set	nomacro	j	$L21	li	$16,-5			# 0xfffffffffffffffb	.set	macro	.set	reorder$L55:	lbu	$2,4($5)	sb	$2,4($4)	lbu	$3,5($5)	sb	$3,5($4)	lbu	$2,6($5)	.set	noreorder	.set	nomacro	j	$L52	sb	$2,6($4)	.set	macro	.set	reorder$L54:	lbu	$2,4($5)	sb	$2,4($4)	lbu	$3,5($5)	.set	noreorder	.set	nomacro	j	$L52	sb	$3,5($4)	.set	macro	.set	reorder	.end	vid_read_packet	.section	.text.vid_read_header,"ax",@progbits	.align	2	.align	5	.ent	vid_read_header	.type	vid_read_header, @functionvid_read_header:	.frame	$sp,56,$31		# vars= 0, regs= 7/0, args= 24, gp= 0	.mask	0x803f0000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-56	sw	$21,44($sp)	sw	$18,32($sp)	li	$21,1			# 0x1	addiu	$18,$4,16	sw	$31,48($sp)	li	$6,5			# 0x5	move	$7,$0	sw	$19,36($sp)	sw	$17,28($sp)	move	$19,$4	sw	$20,40($sp)	sw	$16,24($sp)	move	$4,$18	sw	$21,16($sp)	jal	url_fseek	lw	$20,12($19)	jal	get_le16	move	$4,$18	sw	$2,0($20)	move	$4,$19	jal	av_new_stream	move	$5,$0	move	$17,$2	li	$6,1			# 0x1	li	$7,60			# 0x3c	li	$5,32			# 0x20	bne	$2,$0,$L86	move	$4,$2$L81:	li	$4,-12			# 0xfffffffffffffff4$L84:	lw	$31,48($sp)	lw	$21,44($sp)	lw	$20,40($sp)	lw	$19,36($sp)	lw	$18,32($sp)	lw	$17,28($sp)	lw	$16,24($sp)	move	$2,$4	j	$31	addiu	$sp,$sp,56$L86:	jal	av_set_pts_info	nop	lw	$16,8($17)	li	$2,107			# 0x6b	sw	$2,228($16)	sw	$0,224($16)	jal	get_le16	move	$4,$18	sw	$2,40($16)	move	$4,$18	jal	get_le16	lw	$16,8($17)	lw	$3,8($17)	sw	$2,44($16)	li	$2,14			# 0xe	sw	$2,52($3)	jal	get_le16	move	$4,$18	sw	$2,4($20)	jal	get_le16	move	$4,$18	move	$4,$19	jal	av_new_stream	move	$5,$0	li	$5,11025			# 0x2b11	sll	$3,$5,3	beq	$2,$0,$L81	move	$4,$0	lw	$2,8($2)	sw	$3,4($2)	li	$3,65536			# 0x10000	ori	$3,$3,0x5	sw	$3,228($2)	li	$3,8			# 0x8	sw	$21,68($2)	sw	$3,392($2)	sw	$21,224($2)	j	$L84	sw	$5,64($2)	.set	macro	.set	reorder	.end	vid_read_header	.globl	bethsoftvid_demuxer	.section	.rodata.str1.4	.align	2$LC2:	.ascii	"bethsoftvid\000"	.align	2$LC3:	.ascii	"Bethesda Softworks 'Daggerfall' VID format\000"	.data	.align	2	.type	bethsoftvid_demuxer, @object	.size	bethsoftvid_demuxer, 64bethsoftvid_demuxer:	.word	$LC2	.word	$LC3	.word	16	.word	vid_probe	.word	vid_read_header	.word	vid_read_packet	.space	40	.ident	"GCC: (GNU) 4.1.2"

⌨️ 快捷键说明

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