dxa.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 741 行
MID
741 行
.file 1 "dxa.c" .section .mdebug.abi32 .previous .section .text.dxa_probe,"ax",@progbits .align 2 .align 5 .ent dxa_probe .type dxa_probe, @functiondxa_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 $4,4($4) li $2,68 # 0x44 lbu $3,0($4) beq $3,$2,$L10 nop$L2: move $4,$0$L7:$L11: j $31 move $2,$4$L10: lbu $3,1($4) li $2,69 # 0x45 bne $3,$2,$L2 nop lbu $3,2($4) li $2,88 # 0x58 bne $3,$2,$L2 nop lbu $3,3($4) li $2,65 # 0x41 beq $3,$2,$L7 li $4,100 # 0x64 j $L11 move $4,$0 .set macro .set reorder .end dxa_probe .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "File contains no frames ???\012\000" .globl __divdi3 .align 2$LC1: .ascii "%d frame(s)\012\000" .section .text.dxa_read_header,"ax",@progbits .align 2 .align 5 .ent dxa_read_header .type dxa_read_header, @functiondxa_read_header: .frame $sp,88,$31 # vars= 16, regs= 10/0, args= 32, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-88 sw $18,56($sp) addiu $18,$4,16 sw $20,64($sp) sw $31,84($sp) sw $fp,80($sp) sw $23,76($sp) sw $22,72($sp) sw $21,68($sp) sw $19,60($sp) sw $17,52($sp) sw $16,48($sp) move $20,$4 move $4,$18 jal get_le32 lw $19,12($20) li $3,1096286208 # 0x41580000 ori $3,$3,0x4544 beq $2,$3,$L38 nop$L13: 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) li $2,-1 # 0xffffffffffffffff j $31 addiu $sp,$sp,88$L38: jal get_byte move $4,$18 move $4,$18 jal get_be16 move $22,$2 beq $2,$0,$L39 sw $2,0($19) jal get_be32 move $4,$18 blez $2,$L18 move $3,$2 li $2,1000 # 0x3e8 sw $2,36($sp) sw $3,32($sp)$L20: jal get_be16 move $4,$18 move $4,$18 jal get_be16 move $fp,$2 sw $0,4($19) move $4,$20 move $5,$0 jal av_new_stream move $23,$2 beq $2,$0,$L13 move $21,$2 jal get_le32 move $4,$18 li $3,1163264000 # 0x45560000 ori $3,$3,0x4157 beq $2,$3,$L40 lw $2,36($sp)$L42: lw $3,8($21) lw $9,32($sp) move $6,$2 sra $7,$2,31 li $2,102 # 0x66 sw $2,228($3) li $2,2147418112 # 0x7fff0000 sw $23,44($3) sw $fp,40($3) sw $0,224($3) sra $8,$9,31 move $3,$0 addiu $5,$sp,32 addiu $4,$sp,36 ori $2,$2,0xffff sw $8,20($sp) sw $3,28($sp) sw $9,16($sp) jal av_reduce sw $2,24($sp) lw $6,32($sp) lw $7,36($sp) move $4,$21 jal av_set_pts_info li $5,33 # 0x21 andi $2,$22,0xc0 beq $2,$0,$L35 nop lw $3,8($21) lw $2,44($3) sra $2,$2,1 sw $2,44($3)$L35: lw $2,4($19) move $4,$18 sltu $2,$2,1 jal url_ftell sw $2,32($19) lw $16,0($19) li $8,983040 # 0xf0000 ori $8,$8,0x4240 mult $16,$8 lw $4,32($sp) mflo $8 mfhi $9 sra $7,$4,31 mul $12,$9,$4 multu $4,$8 lw $10,36($sp) mflo $4 mfhi $5 mul $11,$7,$8 sw $2,24($19) sw $3,28($19) addu $8,$11,$12 move $2,$0 move $3,$0 addu $5,$8,$5 move $6,$10 sra $7,$10,31 sw $2,3824($20) jal __divdi3 sw $3,3828($20) lui $6,%hi($LC1) sw $2,3832($20) sw $3,3836($20) move $4,$20 move $7,$16 addiu $6,$6,%lo($LC1) jal av_log li $5,2 # 0x2 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) move $2,$0 j $31 addiu $sp,$sp,88$L39: lui $6,%hi($LC0) move $4,$20 addiu $6,$6,%lo($LC0) jal av_log move $5,$0 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) li $2,-1 # 0xffffffffffffffff j $31 addiu $sp,$sp,88$L18: beq $2,$0,$L21 li $3,1 # 0x1 subu $3,$0,$2 li $2,65536 # 0x10000 ori $2,$2,0x86a0 sw $2,36($sp) j $L20 sw $3,32($sp)$L21: li $2,10 # 0xa sw $2,36($sp) j $L20 sw $3,32($sp)$L40: li $2,1 # 0x1 move $4,$18 jal get_be32 sw $2,4($19) move $4,$18 jal url_ftell move $16,$2 addu $4,$2,$16 move $17,$0 sltu $6,$4,$2 addu $5,$3,$17 addu $5,$6,$5 sw $5,28($19) li $6,16 # 0x10 move $7,$0 sw $4,24($19) jal url_fskip move $4,$18 jal get_le32 move $4,$18 move $4,$20 move $5,$0 jal av_new_stream move $17,$2 beq $2,$0,$L13 sw $2,40($sp) lw $5,8($2) move $4,$18 jal get_wav_header move $6,$17$L27: jal url_ftell move $4,$18 move $7,$3 lw $3,28($19) move $6,$2 slt $2,$7,$3 bne $2,$0,$L32 move $4,$18 beq $3,$7,$L41 nop$L29: lw $3,0($19) lw $11,40($sp) addu $2,$17,$3 addiu $2,$2,-1 divu $0,$2,$3 teq $3,$0,7 lw $4,8($11) mflo $2 sw $2,8($19) lw $3,272($4) beq $3,$0,$L43 move $4,$18 addu $2,$2,$3 addiu $2,$2,-1 div $0,$2,$3 teq $3,$0,7 mflo $2 mul $2,$3,$2 sw $2,8($19)$L43: jal url_ftell sw $17,12($19) lw $6,24($19) lw $7,28($19) sw $2,16($19) sw $3,20($19) move $4,$18 jal url_fseek sw $0,16($sp) j $L42 lw $2,36($sp)$L41: lw $2,24($19) sltu $2,$6,$2 beq $2,$0,$L29 nop$L32: jal url_feof nop bne $2,$0,$L29 move $4,$18 jal get_le32 nop move $4,$18 jal get_le32 move $16,$2 move $17,$2 li $2,1634992128 # 0x61740000 ori $2,$2,0x6164 beq $16,$2,$L29 move $4,$18 move $6,$17 jal url_fskip move $7,$0 j $L27 nop .set macro .set reorder .end dxa_read_header .section .rodata.str1.4 .align 2$LC2: .ascii "Frame size is too big: %d\012\000" .align 2$LC3: .ascii "Unknown tag %c%c%c%c\012\000" .section .text.dxa_read_packet,"ax",@progbits .align 2 .align 5 .ent dxa_read_packet .type dxa_read_packet, @functiondxa_read_packet: .frame $sp,848,$31 # vars= 784, regs= 8/0, args= 32, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-848 sw $22,840($sp) sw $19,828($sp) sw $31,844($sp) sw $21,836($sp) sw $20,832($sp) sw $18,824($sp) sw $17,820($sp) sw $16,816($sp) lw $17,12($4) move $19,$4 lw $2,32($17) bne $2,$0,$L45 move $22,$5 lw $2,4($17) bne $2,$0,$L109 nop$L45: lw $6,24($17) lw $7,28($17) addiu $16,$19,16 move $4,$16 sw $0,16($sp) jal url_fseek move $21,$0 addiu $20,$sp,32$L52: jal url_feof move $4,$16 move $4,$16 move $5,$20 bne $2,$0,$L49 li $6,4 # 0x4 lw $2,0($17) beq $2,$0,$L49 nop jal get_buffer nop lbu $11,35($sp) lbu $10,34($sp) lbu $9,33($sp) sll $2,$10,16 sll $7,$11,24 lbu $8,32($sp) or $7,$7,$2 or $7,$7,$8 sll $3,$9,8 li $2,1296105472 # 0x4d410000 or $3,$3,$7 ori $2,$2,0x5246 move $5,$20 li $6,4 # 0x4 beq $3,$2,$L56 addiu $4,$sp,41 li $2,1346437120 # 0x50410000 ori $2,$2,0x4d43 beq $3,$2,$L57 li $2,1280049152 # 0x4c4c0000 ori $2,$2,0x554e beq $3,$2,$L110 lui $6,%hi($LC3) move $4,$19 addiu $6,$6,%lo($LC3) move $7,$8 move $5,$0 sw $9,16($sp) sw $10,20($sp) jal av_log sw $11,24($sp) li $4,-1 # 0xffffffffffffffff$L51: lw $31,844($sp) lw $22,840($sp) lw $21,836($sp) lw $20,832($sp) lw $19,828($sp) lw $18,824($sp) lw $17,820($sp) lw $16,816($sp) move $2,$4 j $31 addiu $sp,$sp,848$L109: lw $2,12($17) beq $2,$0,$L45 li $16,1 # 0x1 lw $6,16($17) lw $7,20($17) addiu $19,$4,16 sw $16,32($17) move $4,$19 jal url_fseek sw $0,16($sp) lw $5,8($17) lw $3,12($17) move $18,$5 sltu $2,$5,$3 movz $18,$3,$2 move $4,$19 move $5,$22 jal av_get_packet move $6,$18 bne $18,$2,$L49 sw $16,24($22) lw $2,12($17) move $4,$19 subu $2,$2,$18 jal url_ftell sw $2,12($17) move $4,$0 sw $2,16($17) j $L51 sw $3,20($17)$L56: move $4,$16 addiu $5,$sp,36 jal get_buffer li $6,5 # 0x5 lbu $3,37($sp) lbu $2,38($sp) sll $3,$3,24 sll $2,$2,16 lbu $4,39($sp) lbu $5,40($sp) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 or $18,$4,$3 li $2,16777216 # 0x1000000 sltu $2,$18,$2 beq $2,$0,$L99 lui $6,%hi($LC2) addiu $5,$18,9 addu $5,$21,$5 jal av_new_packet move $4,$22 bltz $2,$L58 move $5,$20 lw $4,16($22) addu $4,$21,$4 jal memcpy li $6,9 # 0x9 lw $5,16($22) move $4,$16 addu $5,$21,$5 addiu $5,$5,9 jal get_buffer move $6,$18 bne $18,$2,$L111 nop beq $21,$0,$L80 addiu $5,$sp,41 lw $4,16($22) jal memcpy move $6,$21$L80: sw $0,24($22) lw $2,0($17) move $4,$16 addiu $2,$2,-1 j $L108 sw $2,0($17)$L57: jal memcpy li $21,772 # 0x304 move $4,$16 addiu $5,$sp,45 jal get_buffer li $6,768 # 0x300 j $L52 nop$L110: move $4,$22 jal av_new_packet addiu $5,$21,4 bltz $2,$L51 li $4,-12 # 0xfffffffffffffff4 bne $21,$0,$L60 sw $0,24($22) move $18,$0 lw $4,16($22)$L112: move $5,$20 addu $4,$18,$4 jal memcpy li $6,4 # 0x4 lw $3,0($17) move $4,$16 addiu $3,$3,-1 sw $3,0($17)$L108: jal url_ftell nop sw $2,24($17) sw $3,28($17) sw $0,32($17) move $4,$0 lw $31,844($sp) lw $22,840($sp) lw $21,836($sp) lw $20,832($sp) lw $19,828($sp) lw $18,824($sp) lw $17,820($sp) lw $16,816($sp) move $2,$4 j $31 addiu $sp,$sp,848$L99: move $4,$19 move $7,$18 addiu $6,$6,%lo($LC2) jal av_log move $5,$0 li $4,-1 # 0xffffffffffffffff lw $31,844($sp) lw $22,840($sp) lw $21,836($sp) lw $20,832($sp) lw $19,828($sp) lw $18,824($sp) lw $17,820($sp) lw $16,816($sp) move $2,$4 j $31 addiu $sp,$sp,848$L60: move $18,$21 lw $4,16($22) addiu $5,$sp,41 jal memcpy move $6,$21 j $L112 lw $4,16($22)$L49: j $L51 li $4,-5 # 0xfffffffffffffffb$L58: j $L51 li $4,-12 # 0xfffffffffffffff4$L111: lw $2,36($22) beq $2,$0,$L49 nop jal $2 move $4,$22 j $L51 li $4,-5 # 0xfffffffffffffffb .set macro .set reorder .end dxa_read_packet .globl dxa_demuxer .section .rodata.str1.4 .align 2$LC4: .ascii "dxa\000" .data .align 2 .type dxa_demuxer, @object .size dxa_demuxer, 64dxa_demuxer: .word $LC4 .word $LC4 .word 40 .word dxa_probe .word dxa_read_header .word dxa_read_packet .space 40 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?