mm.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 502 行
MID
502 行
.file 1 "mm.c" .section .mdebug.abi32 .previous .section .text.mm_probe,"ax",@progbits .align 2 .align 5 .ent mm_probe .type mm_probe, @functionmm_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) lbu $2,1($4) lbu $3,0($4) sll $2,$2,8 or $2,$2,$3 bne $2,$0,$L6 move $6,$0 lbu $2,5($4) lbu $3,4($4) lbu $5,2($4) sll $3,$3,16 sll $2,$2,24 lbu $4,3($4) or $2,$2,$3 or $2,$2,$5 sll $4,$4,8 or $4,$4,$2 li $3,22 # 0x16 beq $4,$3,$L4 nop li $2,24 # 0x18 beq $4,$2,$L4 nop$L6: j $31 move $2,$6$L4: li $6,50 # 0x32 j $31 move $2,$6 .set macro .set reorder .end mm_probe .section .text.mm_read_close,"ax",@progbits .align 2 .align 5 .ent mm_read_close .type mm_read_close, @functionmm_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 mm_read_close .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "mm: unknown chunk type 0x%x\012\000" .section .text.mm_read_packet,"ax",@progbits .align 2 .align 5 .ent mm_read_packet .type mm_read_packet, @functionmm_read_packet: .frame $sp,448,$31 # vars= 392, regs= 8/0, args= 24, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-448 sw $22,440($sp) sw $20,432($sp) sw $17,420($sp) sw $31,444($sp) sw $21,436($sp) sw $19,428($sp) sw $18,424($sp) sw $16,416($sp) lw $19,12($4) move $20,$5 addiu $17,$4,16 addiu $22,$sp,24$L36: move $4,$17$L38: move $5,$22 jal get_buffer li $6,6 # 0x6 li $3,6 # 0x6 bne $2,$3,$L13 lbu $2,25($sp) lbu $4,24($sp) sll $2,$2,8 or $7,$2,$4 lbu $3,27($sp) lbu $4,26($sp) addiu $5,$7,-5 sll $3,$3,8 sltu $2,$5,45 beq $2,$0,$L15 or $16,$3,$4 lui $3,%hi($L19) sll $2,$5,2 addiu $3,$3,%lo($L19) addu $2,$2,$3 lw $4,0($2) j $4 nop .rdata .align 2 .align 2$L19: .word $L16 .word $L15 .word $L15 .word $L16 .word $L15 .word $L15 .word $L15 .word $L16 .word $L16 .word $L16 .word $L16 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L17 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L15 .word $L18 .section .text.mm_read_packet$L15: lui $6,%hi($LC0) addiu $6,$6,%lo($LC0) move $4,$0 jal av_log li $5,1 # 0x1 move $6,$16 move $7,$0 move $4,$17 li $2,1 # 0x1 jal url_fseek sw $2,16($sp) j $L38 move $4,$17$L16: addiu $18,$16,6 move $4,$20 jal av_new_packet move $5,$18 beq $2,$0,$L37 nop$L23: li $4,-12 # 0xfffffffffffffff4 lw $31,444($sp) lw $22,440($sp) lw $21,436($sp) lw $20,432($sp) lw $19,428($sp) lw $18,424($sp) lw $17,420($sp) lw $16,416($sp) move $2,$4 j $31 addiu $sp,$sp,448$L17: move $4,$17 move $5,$20 jal av_get_packet move $6,$16 bltz $2,$L23 li $2,1 # 0x1 sw $2,24($20) sw $16,20($20) lw $3,1028($19) move $4,$0 addiu $2,$3,1 sw $2,1028($19) sw $0,4($20) sw $3,0($20)$L26: lw $31,444($sp) lw $22,440($sp) lw $21,436($sp) lw $20,432($sp) lw $19,428($sp) lw $18,424($sp) lw $17,420($sp) lw $16,416($sp) move $2,$4 j $31 addiu $sp,$sp,448$L18: li $6,4 # 0x4 move $7,$0 move $4,$17 li $18,1 # 0x1 addiu $21,$sp,30 jal url_fseek sw $18,16($sp) move $4,$17 move $5,$21 jal get_buffer li $6,384 # 0x180 li $3,384 # 0x180 bne $2,$3,$L13 move $7,$0 addiu $6,$16,-388 move $4,$17 jal url_fseek sw $18,16($sp) move $8,$21 move $7,$19 addiu $9,$sp,414$L21: lbu $2,0($8) lbu $3,1($8) lbu $4,2($8) sll $5,$2,18 sll $6,$3,10 sll $2,$2,16 or $2,$4,$2 or $5,$5,$6 sll $4,$4,2 sll $3,$3,8 or $3,$3,$2 or $5,$5,$4 addiu $8,$8,3 sw $3,4($7) sw $5,516($7) bne $8,$9,$L21 addiu $7,$7,4 li $2,1 # 0x1 j $L36 sw $2,0($19)$L13: li $4,-5 # 0xfffffffffffffffb lw $31,444($sp) lw $22,440($sp) lw $21,436($sp) lw $20,432($sp) lw $19,428($sp) lw $18,424($sp) lw $17,420($sp) lw $16,416($sp) move $2,$4 j $31 addiu $sp,$sp,448$L37: lw $4,16($20) move $5,$22 jal memcpy li $6,6 # 0x6 lw $5,16($20) move $4,$17 addiu $5,$5,6 jal get_buffer move $6,$16 bne $16,$2,$L13 move $4,$0 sw $18,20($20) sw $0,24($20) lw $3,1032($19) addiu $2,$3,1 sw $2,1032($19) sw $0,4($20) j $L26 sw $3,0($20) .set macro .set reorder .end mm_read_packet .section .text.mm_read_header,"ax",@progbits .align 2 .align 5 .ent mm_read_header .type mm_read_header, @functionmm_read_header: .frame $sp,64,$31 # vars= 0, regs= 9/0, args= 24, gp= 0 .mask 0x80ff0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-64 sw $17,28($sp) addiu $17,$4,16 sw $31,56($sp) sw $21,44($sp) sw $20,40($sp) sw $18,32($sp) sw $16,24($sp) sw $23,52($sp) sw $22,48($sp) sw $19,36($sp) move $18,$4 move $4,$17 jal get_le16 lw $19,12($18) move $4,$17 jal get_le32 move $16,$2 move $20,$2 li $21,1 # 0x1 move $4,$17 beq $16,$0,$L49 li $2,-22 # 0xffffffffffffffea$L42: lw $31,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) j $31 addiu $sp,$sp,64$L49: jal get_le16 nop jal get_le16 move $4,$17 move $4,$17 jal get_le16 move $16,$2 jal get_le16 move $4,$17 move $4,$17 jal get_le16 move $23,$2 addiu $6,$20,-10 move $7,$0 move $4,$17 move $22,$2 jal url_fseek sw $21,16($sp) move $4,$18 jal av_new_stream move $5,$0 move $4,$2 move $7,$16 li $6,1 # 0x1 beq $2,$0,$L43 li $5,64 # 0x40 lw $2,8($2) li $3,83 # 0x53 sw $3,228($2) sw $23,40($2) sw $22,44($2) sw $19,584($2) sw $0,224($2) jal av_set_pts_info sw $0,232($2) li $2,24 # 0x18 move $4,$18 beq $20,$2,$L50 move $5,$0 move $2,$0$L51: sw $0,1032($19) sw $0,0($19) j $L42 sw $0,1028($19)$L43: j $L42 li $2,-12 # 0xfffffffffffffff4$L50: jal av_new_stream nop move $4,$2 li $5,64 # 0x40 li $6,1 # 0x1 beq $2,$0,$L43 li $7,8000 # 0x1f40 lw $8,8($2) li $2,65536 # 0x10000 li $3,8000 # 0x1f40 ori $2,$2,0x5 sw $3,64($8) sw $2,228($8) sw $21,68($8) sw $21,224($8) jal av_set_pts_info sw $0,232($8) j $L51 move $2,$0 .set macro .set reorder .end mm_read_header .globl mm_demuxer .section .rodata.str1.4 .align 2$LC1: .ascii "mm\000" .align 2$LC2: .ascii "American Laser Games MM format\000" .data .align 2 .type mm_demuxer, @object .size mm_demuxer, 64mm_demuxer: .word $LC1 .word $LC2 .word 1036 .word mm_probe .word mm_read_header .word mm_read_packet .word mm_read_close .space 36 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?