matroskadec.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 4,873 行 · 第 1/5 页
MID
4,873 行
.file 1 "matroskadec.c" .section .mdebug.abi32 .previous .section .text.matroska_read_seek,"ax",@progbits .align 2 .align 5 .ent matroska_read_seek .type matroska_read_seek, @functionmatroska_read_seek: .frame $sp,48,$31 # vars= 0, regs= 5/0, args= 24, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sll $5,$5,2 sw $19,36($sp) sw $16,24($sp) sw $31,40($sp) sw $18,32($sp) sw $17,28($sp) addu $5,$5,$4 lw $18,100($5) lw $19,64($sp) move $16,$4 sw $19,16($sp) move $4,$18 jal av_index_search_timestamp lw $17,12($16) sll $4,$2,5 sll $3,$2,3 subu $3,$4,$3 bltz $2,$L2 addiu $4,$16,16 lw $2,144($18) addu $2,$3,$2 lw $6,0($2) lw $7,4($2) jal url_fseek sw $0,16($sp) srl $4,$19,2 xori $4,$4,0x1 andi $4,$4,0x1 sw $4,428($17) sw $18,432($17) sw $0,384($17) sw $0,404($17)$L2: lw $31,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 .set macro .set reorder .end matroska_read_seek .section .text.matroska_read_close,"ax",@progbits .align 2 .align 5 .ent matroska_read_close .type matroska_read_close, @functionmatroska_read_close: .frame $sp,40,$31 # vars= 0, regs= 6/0, args= 16, gp= 0 .mask 0x801f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-40 sw $31,36($sp) sw $20,32($sp) sw $19,28($sp) sw $18,24($sp) sw $17,20($sp) sw $16,16($sp) lw $18,12($4) jal av_free lw $4,268($18) jal av_free lw $4,272($18) jal av_free lw $4,424($18) lw $3,400($18) beq $3,$0,$L7 nop lw $2,404($18) blez $2,$L9 nop j $L11 move $17,$0$L21: lw $3,400($18)$L11: sll $16,$17,2 addu $2,$3,$16 lw $4,0($2) beq $4,$0,$L24 addiu $17,$17,1 lw $2,36($4) beq $2,$0,$L12 nop jal $2 nop lw $3,400($18)$L12: addu $2,$3,$16$L24: jal av_free lw $4,0($2) lw $2,404($18) slt $2,$17,$2 bne $2,$0,$L21 nop lw $3,400($18)$L9: jal av_free move $4,$3$L7: lw $2,296($18) blez $2,$L15 move $17,$18 move $19,$0 j $L17 li $20,2 # 0x2$L18: jal av_free move $4,$16 lw $2,296($18) slt $2,$19,$2 beq $2,$0,$L23 lw $31,36($sp)$L17: lw $16,304($17) addiu $19,$19,1 lw $4,24($16) jal av_free addiu $17,$17,4 jal av_free lw $4,28($16) jal av_free lw $4,32($16) jal av_free lw $4,16($16) lw $2,0($16) bne $2,$20,$L18 nop jal av_free lw $4,100($16) jal av_free move $4,$16 lw $2,296($18) slt $2,$19,$2 bne $2,$0,$L17 nop$L15: lw $31,36($sp)$L23: lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) move $2,$0 j $31 addiu $sp,$sp,40 .set macro .set reorder .end matroska_read_close .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "Read error at pos. %llu (0x%llx)\012\000" .align 2$LC1: .ascii "Invalid EBML number size tag 0x%02x at pos %llu (0x%llx)" .ascii "\012\000" .section .text.ebml_read_num,"ax",@progbits .align 2 .align 5 .ent ebml_read_num .type ebml_read_num, @functionebml_read_num: .frame $sp,64,$31 # vars= 0, regs= 8/0, args= 32, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-64 sw $22,56($sp) sw $21,52($sp) sw $17,36($sp) sw $16,32($sp) sw $31,60($sp) sw $20,48($sp) sw $19,44($sp) sw $18,40($sp) lw $2,0($4) move $17,$4 addiu $21,$2,16 move $4,$21 move $16,$5 jal get_byte move $22,$6 beq $2,$0,$L26 move $18,$2 blez $16,$L28 sra $19,$2,31 andi $2,$2,0x80 move $3,$0 or $2,$2,$3 bne $2,$0,$L47 li $6,128 # 0x80 j $L35 li $20,1 # 0x1$L48: sra $5,$6,31 and $2,$18,$6 and $3,$19,$5 or $2,$2,$3 bne $2,$0,$L45 nor $2,$0,$6$L35: addiu $20,$20,1 slt $2,$16,$20 beq $2,$0,$L48 sra $6,$6,1$L28: jal url_ftell move $4,$21 addiu $8,$2,-1 lw $4,0($17) sltu $5,$8,$2 addiu $9,$3,-1 lui $6,%hi($LC1) addu $9,$5,$9 addiu $6,$6,%lo($LC1) andi $7,$18,0x00ff move $5,$0 sw $8,24($sp) sw $9,28($sp) sw $8,16($sp) sw $9,20($sp) jal av_log li $20,-22 # 0xffffffffffffffea$L34: move $2,$20$L51: lw $31,60($sp) lw $22,56($sp) lw $21,52($sp) lw $20,48($sp) lw $19,44($sp) lw $18,40($sp) lw $17,36($sp) lw $16,32($sp) j $31 addiu $sp,$sp,64$L45: sra $3,$2,31 slt $4,$20,2 and $16,$18,$2 bne $4,$0,$L38 and $17,$19,$3 li $18,2 # 0x2 addiu $19,$20,1$L40: jal get_byte move $4,$21 srl $6,$16,24 sll $5,$17,8 sra $3,$2,31 or $5,$6,$5 sll $4,$16,8 addiu $18,$18,1 or $16,$4,$2 bne $18,$19,$L40 or $17,$5,$3$L38: sw $16,0($22) sw $17,4($22)$L49: move $2,$20 lw $31,60($sp) lw $22,56($sp) lw $21,52($sp) lw $20,48($sp) lw $19,44($sp) lw $18,40($sp) lw $17,36($sp) lw $16,32($sp) j $31 addiu $sp,$sp,64$L47: li $2,-129 # 0xffffffffffffff7f and $16,$18,$2 move $17,$19 li $20,1 # 0x1 sw $16,0($22) j $L49 sw $17,4($22)$L26: jal url_feof move $4,$21 bne $2,$0,$L34 li $20,-5 # 0xfffffffffffffffb jal url_ftell move $4,$21 lw $4,0($17) lui $6,%hi($LC0) addiu $6,$6,%lo($LC0) move $5,$0 sw $2,24($sp) sw $3,28($sp) sw $2,16($sp) sw $3,20($sp) jal av_log li $20,-5 # 0xfffffffffffffffb j $L51 move $2,$20 .set macro .set reorder .end ebml_read_num .section .text.matroska_probe,"ax",@progbits .align 2 .align 5 .ent matroska_probe .type matroska_probe, @functionmatroska_probe: .frame $sp,56,$31 # vars= 8, regs= 7/0, args= 16, gp= 0 .mask 0x803f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro lui $3,%hi(C.73.6377) addiu $2,$3,%lo(C.73.6377) lwl $5,3($2) lwl $6,7($2) addiu $sp,$sp,-56 sw $16,24($sp) sw $31,48($sp) sw $21,44($sp) sw $20,40($sp) sw $19,36($sp) sw $18,32($sp) sw $17,28($sp) lwr $5,%lo(C.73.6377)($3) lwr $6,4($2) lw $14,4($4) sw $5,16($sp) sw $6,20($sp) lbu $3,0($14) lbu $2,1($14) move $16,$4 sll $2,$2,16 sll $3,$3,24 lbu $4,2($14) lbu $5,3($14) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,440729600 # 0x1a450000 or $4,$4,$3 ori $2,$2,0xdfa3 beq $4,$2,$L91 move $3,$0$L53: move $2,$0$L80: 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) j $31 addiu $sp,$sp,56$L91: lbu $4,4($14) andi $2,$4,0x80 or $2,$2,$3 bne $2,$0,$L55 move $5,$0 andi $2,$4,0x40 or $2,$2,$3 bne $2,$0,$L92 move $3,$0 andi $2,$4,0x20 or $2,$2,$3 bne $2,$0,$L93 li $2,32 # 0x20 andi $2,$4,0x10 or $2,$2,$3 bne $2,$0,$L94 li $2,16 # 0x10 andi $2,$4,0x8 or $2,$2,$3 bne $2,$0,$L95 li $2,8 # 0x8 andi $2,$4,0x4 or $2,$2,$3 bne $2,$0,$L96 li $2,4 # 0x4 andi $2,$4,0x2 or $2,$2,$3 bne $2,$0,$L97 li $2,2 # 0x2 andi $2,$4,0x1 or $2,$2,$3 beq $2,$0,$L80 move $2,$0 li $2,1 # 0x1 li $15,8 # 0x8$L59: addiu $2,$2,-1 sra $3,$2,31 li $7,1 # 0x1 and $8,$4,$2 and $9,$5,$3$L71: addu $2,$7,$14 srl $6,$8,24 lbu $4,4($2) sll $3,$9,8 or $3,$6,$3 sll $2,$8,8 addiu $7,$7,1 or $8,$2,$4 bne $15,$7,$L71 move $9,$3$L72: addiu $2,$15,4 sra $13,$2,31 addu $10,$8,$2 lw $3,8($16) move $12,$2 addu $11,$9,$13 sltu $2,$10,$8 addu $11,$2,$11 sra $7,$3,31 sltu $2,$7,$11 bne $2,$0,$L80 move $2,$0 beq $7,$11,$L98 addiu $18,$10,-8$L100: sltu $2,$18,$10 addiu $19,$11,-1 addu $3,$2,$19 sltu $2,$3,$13 bne $2,$0,$L53 move $19,$3 beq $3,$13,$L99 addiu $3,$15,5$L101: addu $2,$14,$15 addiu $20,$2,4 move $16,$3 sra $17,$3,31 addiu $21,$sp,16 move $4,$20$L102: move $5,$21 jal memcmp li $6,8 # 0x8 addiu $4,$16,1 sltu $3,$4,$16 addu $5,$3,$17 move $16,$4 addiu $4,$4,-1 sltu $3,$4,$16 move $17,$5 addiu $5,$5,-1 addu $5,$3,$5 sltu $6,$18,$4 beq $2,$0,$L84 sltu $3,$19,$5 bne $3,$0,$L53 addiu $20,$20,1 bne $19,$5,$L102 move $4,$20 beq $6,$0,$L102 nop j $L80 move $2,$0$L55: andi $8,$4,0x7f move $9,$0 j $L72 li $15,1 # 0x1$L98: sltu $2,$3,$10 bne $2,$0,$L80 move $2,$0 j $L100 addiu $18,$10,-8$L92: li $2,64 # 0x40 j $L59 li $15,2 # 0x2$L93: j $L59 li $15,3 # 0x3$L94: j $L59 li $15,4 # 0x4$L95: j $L59 li $15,5 # 0x5$L96: j $L59 li $15,6 # 0x6$L97: j $L59 li $15,7 # 0x7$L99: sltu $2,$18,$12 bne $2,$0,$L80 move $2,$0 j $L101 addiu $3,$15,5$L84: j $L80 li $2,100 # 0x64 .set macro .set reorder .end matroska_probe .section .rodata.str1.4 .align 2$LC2: .ascii "Memory allocation error\012\000" .section .text.ebml_read_binary,"ax",@progbits .align 2 .align 5 .ent ebml_read_binary .type ebml_read_binary, @functionebml_read_binary: .frame $sp,72,$31 # vars= 16, regs= 6/0, args= 32, gp= 0 .mask 0x801f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-72 sw $20,64($sp) sw $19,60($sp) sw $18,56($sp) sw $17,52($sp) sw $31,68($sp) sw $16,48($sp) lw $2,384($4) move $17,$4 move $19,$5 move $20,$6 move $18,$7 beq $2,$0,$L104 lw $16,0($4) sw $2,0($5)$L106: sw $0,384($17) move $4,$17 li $5,8 # 0x8 jal ebml_read_num addiu $6,$sp,32 bltz $2,$L107 move $3,$2 lw $4,32($sp) jal av_malloc sw $4,0($18) beq $2,$0,$L115 sw $2,0($20) addiu $16,$16,16 lw $6,0($18) move $5,$2 jal get_buffer move $4,$16 lw $3,0($18) bne $2,$3,$L112 nop move $3,$0$L107: lw $31,68($sp) lw $20,64($sp) lw $19,60($sp) lw $18,56($sp) lw $17,52($sp) lw $16,48($sp) move $2,$3 j $31 addiu $sp,$sp,72$L104: li $5,4 # 0x4 jal ebml_read_num addiu $6,$sp,40 bltz $2,$L107 move $3,$2 sll $2,$2,3 subu $2,$2,$3 lw $4,40($sp) li $3,1 # 0x1 sll $3,$3,$2 or $3,$3,$4 sw $3,384($17) j $L106 sw $3,0($19)$L112: jal url_ftell move $4,$16 lw $4,0($17) lui $6,%hi($LC0) addiu $6,$6,%lo($LC0) move $5,$0 sw $3,28($sp) sw $3,20($sp) sw $2,24($sp) jal av_log sw $2,16($sp) j $L107 li $3,-5 # 0xfffffffffffffffb$L115: lw $4,0($17) lui $6,%hi($LC2) addiu $6,$6,%lo($LC2) jal av_log move $5,$0 j $L107 li $3,-12 # 0xfffffffffffffff4 .set macro .set reorder .end ebml_read_binary .section .rodata.str1.4 .align 2$LC3: .ascii "Invalid uint element size %d at position %lld (0x%llx)\012" .ascii "\000" .section .text.ebml_read_uint,"ax",@progbits .align 2 .align 5 .ent ebml_read_uint .type ebml_read_uint, @functionebml_read_uint: .frame $sp,80,$31 # vars= 16, regs= 7/0, args= 32, gp= 0 .mask 0x803f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-80 sw $19,60($sp) sw $18,56($sp) sw $16,48($sp) sw $31,72($sp) sw $21,68($sp) sw $20,64($sp) sw $17,52($sp) lw $2,384($4) move $18,$4 move $16,$5 move $19,$6 beq $2,$0,$L117 lw $20,0($4) sw $2,0($5)$L119: sw $0,384($18) move $4,$18 li $5,8 # 0x8 jal ebml_read_num addiu $6,$sp,32 bltz $2,$L120 move $3,$2 lw $16,32($sp) addiu $2,$16,-1 sltu $2,$2,8 beq $2,$0,$L130 addiu $21,$20,16 move $2,$0 move $3,$0 sw $2,0($19) blez $16,$L120 sw $3,4($19) addiu $20,$16,1 li $18,1 # 0x1$L127: lw $5,0($19) lw $2,4($19) srl $3,$5,24 move $4,$21 sll $17,$2,8 or $17,$3,$17 jal get_byte sll $16,$5,8 sra $3,$2,31 or $4,$17,$3 or $16,$16,$2 addiu $18,$18,1 sw $16,0($19) bne $20,$18,$L127 sw $4,4($19) move $3,$0$L120: lw $31,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) move $2,$3 j $31 addiu $sp,$sp,80$L117: li $5,4 # 0x4 jal ebml_read_num addiu $6,$sp,40 bltz $2,$L120 move $3,$2 sll $2,$2,3 subu $2,$2,$3 lw $4,40($sp) li $3,1 # 0x1 sll $3,$3,$2 or $3,$3,$4 sw $3,384($18) j $L119 sw $3,0($16)$L130: jal url_ftell move $4,$21 lw $4,0($18) lui $6,%hi($LC3) addiu $6,$6,%lo($LC3) move $7,$16 move $5,$0 sw $3,28($sp) sw $3,20($sp) sw $2,24($sp) jal av_log sw $2,16($sp) j $L120 li $3,-22 # 0xffffffffffffffea .set macro .set reorder .end ebml_read_uint .section .text.ebml_read_skip,"ax",@progbits .align 2 .align 5 .ent ebml_read_skip .type ebml_read_skip, @functionebml_read_skip: .frame $sp,48,$31 # vars= 16, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sw $16,32($sp) sw $31,40($sp) sw $17,36($sp) lw $2,384($4) move $16,$4 li $5,4 # 0x4 addiu $6,$sp,24 beq $2,$0,$L138 lw $17,0($4)$L132: move $4,$16 li $5,8 # 0x8 sw $0,384($16) jal ebml_read_num addiu $6,$sp,16 move $5,$2 bltz $2,$L134 addiu $4,$17,16 lw $6,16($sp) jal url_fskip lw $7,20($sp) move $5,$0$L134: lw $31,40($sp) lw $17,36($sp) lw $16,32($sp) move $2,$5 j $31 addiu $sp,$sp,48$L138: jal ebml_read_num nop move $5,$2 sll $2,$2,3 subu $2,$2,$5 li $3,1 # 0x1 bltz $5,$L134 sll $3,$3,$2 lw $2,24($sp) or $2,$3,$2 j $L132 sw $2,384($16) .set macro .set reorder .end ebml_read_skip .section .rodata.str1.4 .align 2$LC4: .ascii "File moves beyond max. allowed depth (%d)\012\000" .section .text.ebml_read_master,"ax",@progbits .align 2 .align 5 .ent ebml_read_master .type ebml_read_master, @functionebml_read_master: .frame $sp,48,$31 # vars= 16, regs= 4/0, args= 16, gp= 0 .mask 0x80070000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sw $18,40($sp) sw $16,32($sp) sw $31,44($sp) sw $17,36($sp) lw $2,384($4) move $18,$5 move $16,$4 addiu $6,$sp,24 li $5,4 # 0x4 beq $2,$0,$L150 lw $17,0($4)$L149: sw $2,0($18) move $4,$16 sw $0,384($16) addiu $6,$sp,16 jal ebml_read_num li $5,8 # 0x8 bltz $2,$L143 move $4,$2 lw $2,4($16) lui $6,%hi($LC4) sll $3,$2,4 addiu $8,$2,1 addiu $3,$3,8 slt $2,$2,16 addiu $4,$17,16 addiu $6,$6,%lo($LC4)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?