4xm.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 824 行
MID
824 行
.file 1 "4xm.c" .section .mdebug.abi32 .previous .section .text.fourxm_probe,"ax",@progbits .align 2 .align 5 .ent fourxm_probe .type fourxm_probe, @functionfourxm_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 $6,4($4) lbu $3,3($6) lbu $2,2($6) sll $3,$3,24 sll $2,$2,16 lbu $4,1($6) lbu $5,0($6) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,1178992640 # 0x46460000 or $4,$4,$3 ori $2,$2,0x4952 bne $4,$2,$L2 nop lbu $2,11($6) lbu $3,10($6) sll $2,$2,24 sll $3,$3,16 lbu $5,8($6) lbu $4,9($6) or $2,$2,$3 or $2,$2,$5 sll $4,$4,8 or $4,$4,$2 li $2,1447886848 # 0x564d0000 ori $2,$2,0x5834 beq $4,$2,$L5 li $3,100 # 0x64$L2: move $3,$0$L5: j $31 move $2,$3 .set macro .set reorder .end fourxm_probe .section .text.fourxm_read_close,"ax",@progbits .align 2 .align 5 .ent fourxm_read_close .type fourxm_read_close, @functionfourxm_read_close: .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $31,16($sp) lw $2,12($4) jal av_free lw $4,16($2) lw $31,16($sp) move $2,$0 j $31 addiu $sp,$sp,24 .set macro .set reorder .end fourxm_read_close .section .text.fourxm_read_packet,"ax",@progbits .align 2 .align 5 .ent fourxm_read_packet .type fourxm_read_packet, @functionfourxm_read_packet: .frame $sp,80,$31 # vars= 16, regs= 10/0, args= 24, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-80 sw $fp,72($sp) sw $31,76($sp) sw $23,68($sp) sw $22,64($sp) sw $21,60($sp) sw $20,56($sp) sw $19,52($sp) sw $18,48($sp) sw $17,44($sp) sw $16,40($sp) lw $2,12($4) sw $5,84($sp) sw $2,32($sp) addiu $fp,$4,16$L39: move $4,$fp$L42: addiu $5,$sp,24 jal get_buffer li $6,8 # 0x8 bltz $2,$L12 move $9,$2 move $4,$fp lbu $19,27($sp) lbu $18,26($sp) lbu $23,25($sp) lbu $21,24($sp) lbu $17,31($sp) lbu $16,30($sp) lbu $22,29($sp) jal url_feof lbu $20,28($sp) bne $2,$0,$L14 sll $2,$18,16 sll $3,$19,24 or $3,$3,$2 sll $4,$17,24 sll $2,$16,16 or $4,$4,$2 or $3,$3,$21 sll $2,$23,8 or $3,$2,$3 li $2,1414725632 # 0x54530000 or $4,$4,$20 sll $5,$22,8 ori $2,$2,0x494c beq $3,$2,$L18 or $17,$5,$4 sltu $2,$2,$3 bne $2,$0,$L20 li $4,1836187648 # 0x6d720000 li $4,846331904 # 0x32720000 ori $2,$4,0x6669 beq $3,$2,$L17 ori $2,$4,0x6670 beq $3,$2,$L17 ori $2,$4,0x6663 beq $3,$2,$L43 addiu $5,$17,8$L16: move $6,$17$L44: move $7,$0 move $4,$fp li $2,1 # 0x1 jal url_fseek sw $2,16($sp) j $L42 move $4,$fp$L20: ori $2,$4,0x6663 beq $3,$2,$L17 sltu $2,$2,$3 beq $2,$0,$L40 li $2,1600389120 # 0x5f640000 ori $2,$4,0x6669 beq $3,$2,$L17 ori $2,$4,0x6670 bne $3,$2,$L44 move $6,$17$L17: addiu $5,$17,8$L43: sltu $2,$5,$17 bne $2,$0,$L12 li $9,-5 # 0xfffffffffffffffb jal av_new_packet lw $4,84($sp) bne $2,$0,$L14 lw $3,32($sp) lw $4,32($3) lw $5,36($3) lw $2,8($3) lw $3,84($sp) sw $4,0($3) sw $5,4($3) move $4,$fp jal url_ftell sw $2,24($3) lw $5,84($sp) li $6,8 # 0x8 lw $4,16($5) sw $3,52($5) sw $2,48($5) jal memcpy addiu $5,$sp,24 lw $2,84($sp) move $6,$17 lw $5,16($2) move $4,$fp jal get_buffer addiu $5,$5,8 bltz $2,$L41 move $9,$2$L12: lw $31,76($sp) lw $fp,72($sp) lw $23,68($sp) lw $22,64($sp) lw $21,60($sp) lw $20,56($sp) lw $19,52($sp) lw $18,48($sp) lw $17,44($sp) lw $16,40($sp) move $2,$9 j $31 addiu $sp,$sp,80$L18: lw $4,32($sp) lw $2,32($4) lw $3,36($4) addiu $6,$2,1 sltu $5,$6,$2 addu $7,$5,$3 lw $5,32($sp) move $4,$fp sw $6,32($5) jal get_le32 sw $7,36($5) j $L42 move $4,$fp$L40: ori $2,$2,0x6e73 bne $3,$2,$L44 move $6,$17 jal get_le32 move $4,$fp move $4,$fp jal get_le32 move $16,$2 lw $4,32($sp) lw $3,20($4) bne $16,$3,$L16 addiu $17,$17,-8 lw $5,84($sp) move $4,$fp jal av_get_packet move $6,$17 bltz $2,$L14 move $9,$2 lw $5,32($sp) lw $2,20($5) lw $6,16($5) sll $3,$2,4 sll $2,$2,2 addu $2,$2,$3 addu $2,$2,$6 lw $3,12($2) lw $2,84($sp) lw $4,24($5) sw $3,24($2) lw $3,32($sp) lw $5,28($5) lw $2,20($3) lw $3,84($sp) sw $4,0($3) sw $5,4($3) sll $3,$2,4 sll $2,$2,2 addu $2,$2,$3 addu $2,$2,$6 lw $3,16($2) beq $3,$0,$L29 nop lw $2,8($2) sll $3,$2,1 subu $3,$17,$3 div $0,$3,$2 teq $2,$0,7 mflo $3 sll $2,$3,1$L31: lw $3,32($sp) sra $5,$2,31 lw $6,24($3) lw $7,28($3) addu $2,$6,$2 lw $4,32($sp) sltu $8,$2,$6 addu $3,$7,$5 addu $3,$8,$3 sw $2,24($4) j $L12 sw $3,28($4)$L41: lw $3,84($sp) lw $2,36($3) beq $2,$0,$L39 nop jal $2 move $4,$3 j $L42 move $4,$fp$L14: j $L12 li $9,-5 # 0xfffffffffffffffb$L29: lw $4,8($2) lw $2,4($2) div $0,$17,$4 teq $4,$0,7 addiu $5,$2,7 slt $3,$2,0 movn $2,$5,$3 sra $2,$2,3 mflo $4 div $0,$4,$2 teq $2,$0,7 j $L31 mflo $2 .set macro .set reorder .end fourxm_read_packet .globl __fixsfsi .section .rodata.cst4,"aM",@progbits,4 .align 2$LC0: .word 1065353216 .section .text.fourxm_read_header,"ax",@progbits .align 2 .align 5 .ent fourxm_read_header .type fourxm_read_header, @functionfourxm_read_header: .frame $sp,64,$31 # vars= 0, regs= 10/0, args= 24, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-64 sw $31,60($sp) sw $20,40($sp) sw $19,36($sp) sw $18,32($sp) sw $16,24($sp) sw $fp,56($sp) sw $23,52($sp) sw $22,48($sp) sw $21,44($sp) sw $17,28($sp) lui $2,%hi($LC0) lw $17,12($4) lw $3,%lo($LC0)($2) addiu $19,$4,16 li $6,12 # 0xc move $7,$0 sw $3,40($17) sw $0,12($17) sw $0,16($17) sw $0,20($17) li $2,1 # 0x1 move $20,$4 move $4,$19 jal url_fseek sw $2,16($sp) jal get_le32 move $4,$19 move $4,$19 jal get_le32 move $16,$2 move $18,$2 li $2,1414725632 # 0x54530000 ori $2,$2,0x494c beq $16,$2,$L88 nop$L87: li $4,-22 # 0xffffffffffffffea$L53: lw $31,60($sp) lw $fp,56($sp) lw $23,52($sp) lw $22,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,64$L88: jal get_le32 move $4,$19 li $3,1145110528 # 0x44410000 ori $3,$3,0x4548 bne $2,$3,$L53 li $4,-22 # 0xffffffffffffffea addiu $16,$18,-4 jal av_malloc move $4,$16 bne $2,$0,$L89 move $fp,$2$L49: j $L53 li $4,-12 # 0xfffffffffffffff4$L89: move $4,$19 move $5,$2 jal get_buffer move $6,$16 bne $16,$2,$L53 li $4,-5 # 0xfffffffffffffffb addiu $23,$18,-12 blez $23,$L54 move $22,$0 j $L92 addu $18,$fp,$22$L57: sll $2,$4,16 sll $3,$3,24 or $3,$3,$2 li $8,1802633216 # 0x6b720000 or $3,$3,$6 sll $2,$7,8 ori $4,$8,0x7476 beq $5,$4,$L90 or $3,$2,$3 ori $2,$8,0x7473 beq $5,$2,$L91 li $2,40 # 0x28$L59: addiu $22,$22,1 slt $2,$22,$23 beq $2,$0,$L54 addu $18,$fp,$22$L92: lbu $2,3($18) lbu $3,2($18) lbu $5,0($18) sll $3,$3,16 sll $2,$2,24 lbu $4,1($18) or $2,$2,$3 or $2,$2,$5 sll $4,$4,8 or $5,$4,$2 li $2,1600389120 # 0x5f640000 ori $2,$2,0x7473 lbu $3,7($18) lbu $4,6($18) lbu $7,5($18) bne $5,$2,$L57 lbu $6,4($18) lbu $4,15($18) lbu $3,14($18) lbu $5,12($18) sll $3,$3,16 lbu $2,13($18) sll $4,$4,24 or $4,$4,$3 or $4,$4,$5 sll $2,$2,8 jal av_int2flt or $4,$2,$4 j $L59 sw $2,40($17)$L54: jal av_free move $4,$fp jal get_le32 move $4,$19 move $4,$19 jal get_le32 move $16,$2 li $3,1414725632 # 0x54530000 ori $3,$3,0x494c bne $16,$3,$L53 li $4,-22 # 0xffffffffffffffea jal get_le32 move $4,$19 li $3,1230372864 # 0x49560000 ori $3,$3,0x4f4d bne $2,$3,$L87 li $2,-1 # 0xffffffffffffffff li $3,-1 # 0xffffffffffffffff sw $2,32($17) sw $3,36($17) move $2,$0 move $3,$0 move $4,$0 sw $2,24($17) j $L53 sw $3,28($17)$L91: bne $3,$2,$L82 nop lbu $2,11($18) lbu $3,10($18) lbu $5,8($18) sll $3,$3,16 sll $2,$2,24 lbu $4,9($18) or $2,$2,$3 or $2,$2,$5 sll $4,$4,8 or $16,$4,$2 lw $3,12($17) addiu $5,$16,1 slt $3,$3,$5 beq $3,$0,$L68 li $2,214695936 # 0xccc0000 ori $2,$2,0xcccc sltu $2,$5,$2 beq $2,$0,$L83 sw $5,12($17) sll $2,$5,4 lw $4,16($17) sll $5,$5,2 jal av_realloc addu $5,$5,$2 beq $2,$0,$L84 sw $2,16($17)$L68: lbu $3,15($18) lbu $2,14($18) lbu $4,13($18) lbu $6,12($18) sll $2,$2,16 sll $3,$3,24 sll $5,$16,2 or $3,$3,$2 lw $7,16($17) sll $2,$16,4 addu $21,$5,$2 or $3,$3,$6 sll $4,$4,8 addu $7,$21,$7 or $4,$4,$3 sw $4,16($7) lbu $2,39($18) lbu $4,38($18) lbu $5,36($18) lbu $3,37($18) sll $4,$4,16 sll $2,$2,24 or $2,$2,$4 or $2,$2,$5 sll $3,$3,8 or $3,$3,$2 sw $3,8($7) lbu $2,43($18) lbu $4,42($18) lbu $5,40($18) lbu $3,41($18) sll $4,$4,16 sll $2,$2,24 or $2,$2,$4 or $2,$2,$5 sll $3,$3,8 or $3,$3,$2 sw $3,0($7) lbu $2,47($18) lbu $4,46($18) lbu $5,44($18) lbu $3,45($18) sll $4,$4,16 sll $2,$2,24 or $2,$2,$4 or $2,$2,$5 sll $3,$3,8 or $3,$3,$2 move $5,$16 sw $3,4($7) jal av_new_stream move $4,$20 move $16,$2 beq $2,$0,$L49 addiu $22,$22,48 lw $2,16($17) move $4,$16 addu $2,$21,$2 lw $7,0($2) li $5,60 # 0x3c jal av_set_pts_info li $6,1 # 0x1 lw $4,16($17) lw $2,0($16) lw $8,8($16) addu $4,$21,$4 sw $2,12($4) sw $0,232($8) lw $5,8($4) li $2,1 # 0x1 sw $5,68($8) lw $6,0($4) sw $2,224($8) mul $3,$5,$6 sw $6,64($8) lw $6,4($4) mul $3,$3,$6 mul $5,$5,$6 sw $3,4($8) sw $5,272($8) sw $6,392($8) lw $2,16($4) beq $2,$0,$L74 li $3,65536 # 0x10000 li $2,65536 # 0x10000 ori $2,$2,0x1007 j $L59 sw $2,228($8)$L82: jal av_free move $4,$fp j $L53 li $4,-22 # 0xffffffffffffffea$L74: xori $2,$6,0x8 ori $3,$3,0x5 li $4,65536 # 0x10000 movn $3,$4,$2 j $L59 sw $3,228($8)$L90: li $2,68 # 0x44 bne $3,$2,$L82 nop lbu $2,39($18) lbu $4,38($18) lbu $5,36($18) lbu $3,37($18) sll $4,$4,16 sll $2,$2,24 or $2,$2,$4 or $2,$2,$5 sll $3,$3,8 or $3,$3,$2 sw $3,0($17) lbu $2,43($18) lbu $4,42($18) lbu $5,40($18) lbu $3,41($18) sll $4,$4,16 sll $2,$2,24 or $2,$2,$4 or $2,$2,$5 sll $3,$3,8 or $3,$3,$2 sw $3,4($17) move $4,$20 jal av_new_stream move $5,$0 beq $2,$0,$L49 move $21,$2 lw $4,40($17) jal __fixsfsi addiu $22,$22,76 move $7,$2 li $5,60 # 0x3c move $4,$21 jal av_set_pts_info li $6,1 # 0x1 lw $2,0($21) lw $16,8($21) sw $2,8($17) li $3,35 # 0x23 li $2,4 # 0x4 sw $3,228($16) li $4,4 # 0x4 sw $2,28($16) jal av_malloc sw $0,224($16) lw $3,8($21) sw $2,24($16) lbu $2,16($18) lw $4,24($3) sb $2,0($4) lw $3,8($21) lbu $4,17($18) lw $2,24($3) sb $4,1($2) lw $3,8($21) lbu $4,18($18) lw $2,24($3) sb $4,2($2) lw $3,8($21) lbu $4,19($18) lw $2,24($3) sb $4,3($2) lw $5,8($21) lw $2,0($17) sw $2,40($5) lw $3,4($17) j $L59 sw $3,44($5)$L84: jal av_free move $4,$fp j $L53 li $4,-12 # 0xfffffffffffffff4$L83: j $L53 li $4,-1 # 0xffffffffffffffff .set macro .set reorder .end fourxm_read_header .globl fourxm_demuxer .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC1: .ascii "4xm\000" .align 2$LC2: .ascii "4X Technologies format\000" .data .align 2 .type fourxm_demuxer, @object .size fourxm_demuxer, 64fourxm_demuxer: .word $LC1 .word $LC2 .word 48 .word fourxm_probe .word fourxm_read_header .word fourxm_read_packet .word fourxm_read_close .space 36 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?