segafilm.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 808 行
MID
808 行
.file 1 "segafilm.c" .section .mdebug.abi32 .previous .section .text.film_probe,"ax",@progbits .align 2 .align 5 .ent film_probe .type film_probe, @functionfilm_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,0($2) lbu $5,1($2) lbu $6,3($2) lbu $4,2($2) sll $5,$5,16 sll $3,$3,24 or $3,$3,$5 or $3,$3,$6 sll $4,$4,8 li $2,1179189248 # 0x46490000 or $4,$4,$3 ori $2,$2,0x4c4d xor $4,$4,$2 li $2,100 # 0x64 j $31 movn $2,$0,$4 .set macro .set reorder .end film_probe .section .text.film_read_close,"ax",@progbits .align 2 .align 5 .ent film_read_close .type film_read_close, @functionfilm_read_close: .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $31,20($sp) sw $16,16($sp) lw $16,12($4) jal av_free lw $4,32($16) jal av_free lw $4,48($16) lw $31,20($sp) lw $16,16($sp) move $2,$0 j $31 addiu $sp,$sp,24 .set macro .set reorder .end film_read_close .section .text.film_read_packet,"ax",@progbits .align 2 .align 5 .ent film_read_packet .type film_read_packet, @functionfilm_read_packet: .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 sw $19,36($sp) sw $31,40($sp) sw $18,32($sp) sw $17,28($sp) sw $16,24($sp) lw $16,12($4) move $19,$5 lw $2,28($16) lw $5,36($16) sltu $2,$5,$2 bne $2,$0,$L9 move $8,$4 li $6,-5 # 0xfffffffffffffffb$L11: lw $31,40($sp) lw $19,36($sp) lw $18,32($sp) lw $17,28($sp) lw $16,24($sp) move $2,$6 j $31 addiu $sp,$sp,48$L9: lw $4,32($16) sll $3,$5,5 sll $2,$5,3 addu $2,$2,$3 addu $17,$2,$4 lw $6,8($17) lw $7,12($17) addiu $18,$8,16 move $4,$18 jal url_fseek sw $0,16($sp) lw $4,0($17) lw $2,0($16) beq $4,$2,$L39 li $2,44 # 0x2c$L12: lw $2,4($16) bne $4,$2,$L18 li $2,2 # 0x2 lw $3,20($16) beq $3,$2,$L40 nop$L18: lw $6,16($17) move $4,$18 jal av_get_packet move $5,$19 move $6,$2 lw $2,16($17) li $3,-5 # 0xfffffffffffffffb xor $2,$6,$2 movn $6,$3,$2$L17: lw $3,0($17)$L44: lw $4,24($17) sw $3,24($19) lw $2,36($16) lw $5,28($17) addiu $2,$2,1 sw $2,36($16) sw $4,0($19) sw $5,4($19) lw $31,40($sp) lw $19,36($sp) lw $18,32($sp) lw $17,28($sp) lw $16,24($sp) move $2,$6 j $31 addiu $sp,$sp,48$L39: lw $3,24($16) bne $3,$2,$L12 nop jal url_ftell move $4,$18 lw $5,16($17) sw $2,48($19) sw $3,52($19) jal av_new_packet move $4,$19 beq $2,$0,$L41 nop j $L11 li $6,-12 # 0xfffffffffffffff4$L41: lw $6,16($17) lw $5,16($19) jal get_buffer move $4,$18 j $L17 move $6,$0$L40: lw $5,16($17) jal av_new_packet move $4,$19 bne $2,$0,$L11 li $6,-12 # 0xfffffffffffffff4 lw $2,16($17) lw $3,52($16) sltu $2,$3,$2 bne $2,$0,$L42 nop$L22: jal url_ftell move $4,$18 lw $5,48($16) lw $6,16($17) sw $3,52($19) move $4,$18 jal get_buffer sw $2,48($19) lw $4,16($17) move $6,$2 xor $3,$2,$4 li $2,-5 # 0xfffffffffffffffb movn $6,$2,$3 srl $5,$4,1 move $7,$0 move $8,$0 li $9,8 # 0x8$L37: sltu $2,$7,$4 beq $2,$0,$L17 nop$L27: lw $2,16($16) beq $2,$9,$L43 nop lw $2,48($16) lw $3,16($19) addu $2,$2,$8 lbu $4,0($2) addu $3,$3,$7 sb $4,0($3) lw $2,48($16) lw $3,16($19) addu $2,$8,$2 lbu $4,1($2) addu $3,$7,$3 sb $4,1($3) lw $2,48($16) lw $3,16($19) addu $2,$2,$5 lbu $4,0($2) addu $3,$7,$3 sb $4,2($3) lw $2,48($16) lw $3,16($19) addu $2,$5,$2 lbu $4,1($2) addu $3,$7,$3 sb $4,3($3) lw $4,16($17) addiu $7,$7,4 sltu $2,$7,$4 addiu $8,$8,2 bne $2,$0,$L27 addiu $5,$5,2 j $L44 lw $3,0($17)$L43: lw $2,48($16) lw $3,16($19) addu $2,$2,$8 lbu $4,0($2) addu $3,$3,$7 sb $4,0($3) lw $2,48($16) lw $3,16($19) addu $2,$2,$5 lbu $4,0($2) addu $3,$7,$3 sb $4,1($3) lw $4,16($17) addiu $8,$8,1 addiu $7,$7,2 j $L37 addiu $5,$5,1$L42: jal av_free lw $4,48($16) lw $4,16($17) jal av_malloc sw $4,52($16) j $L22 sw $2,48($16) .set macro .set reorder .end film_read_packet .globl __divdi3 .section .text.film_read_header,"ax",@progbits .align 2 .align 5 .ent film_read_header .type film_read_header, @functionfilm_read_header: .frame $sp,312,$31 # vars= 256, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-312 sw $20,288($sp) sw $19,284($sp) sw $18,280($sp) sw $17,276($sp) sw $31,308($sp) sw $fp,304($sp) sw $23,300($sp) sw $22,296($sp) sw $21,292($sp) sw $16,272($sp) lw $16,12($4) addiu $19,$4,16 addiu $20,$sp,16 move $18,$4 sw $0,32($16) sw $0,48($16) sw $0,52($16) move $4,$19 move $5,$20 jal get_buffer li $6,16 # 0x10 move $17,$2 li $2,16 # 0x10 beq $17,$2,$L90 lbu $2,24($sp) li $2,-5 # 0xfffffffffffffffb$L72: lw $31,308($sp) lw $fp,304($sp) lw $23,300($sp) lw $22,296($sp) lw $21,292($sp) lw $20,288($sp) lw $19,284($sp) lw $18,280($sp) lw $17,276($sp) lw $16,272($sp) j $31 addiu $sp,$sp,312$L90: lbu $4,25($sp) lbu $3,20($sp) lbu $6,21($sp) sll $4,$4,16 lbu $5,26($sp) lbu $8,27($sp) sll $2,$2,24 or $2,$2,$4 lbu $7,23($sp) lbu $4,22($sp) sll $3,$3,24 sll $6,$6,16 or $3,$3,$6 or $2,$2,$8 sll $5,$5,8 or $3,$3,$7 or $5,$5,$2 sll $4,$4,8 or $21,$4,$3 bne $5,$0,$L48 sw $5,44($16) move $4,$19 move $5,$20 jal get_buffer li $6,20 # 0x14 li $3,20 # 0x14 bne $2,$3,$L72 li $2,-5 # 0xfffffffffffffffb li $2,65536 # 0x10000 ori $2,$2,0x4 li $3,22050 # 0x5622 sw $2,8($16) sw $3,12($16) li $2,1 # 0x1 li $3,8 # 0x8 sw $2,20($16) sw $3,16($16) lbu $3,16($sp) lbu $2,17($sp) sll $3,$3,24 sll $2,$2,16 lbu $4,18($sp) lbu $5,19($sp) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,1178861568 # 0x46440000 or $4,$4,$3 ori $2,$2,0x5343 beq $4,$2,$L97 lbu $3,24($sp) lw $31,308($sp)$L98: lw $fp,304($sp) lw $23,300($sp) lw $22,296($sp) lw $21,292($sp) lw $20,288($sp) lw $19,284($sp) lw $18,280($sp) lw $17,276($sp) lw $16,272($sp) li $2,-22 # 0xffffffffffffffea j $31 addiu $sp,$sp,312$L48: move $4,$19 move $5,$20 jal get_buffer li $6,32 # 0x20 li $3,32 # 0x20 bne $2,$3,$L72 li $2,-5 # 0xfffffffffffffffb lbu $2,40($sp) lbu $3,41($sp) sll $2,$2,8 or $2,$2,$3 sw $2,12($16) lbu $3,37($sp) li $2,8 # 0x8 sw $3,20($16) lbu $3,38($sp) beq $3,$2,$L92 sw $3,16($16) beq $3,$17,$L93 li $2,65536 # 0x10000 sw $0,8($16)$L51: lbu $3,16($sp) lbu $2,17($sp) sll $3,$3,24 sll $2,$2,16 lbu $4,18($sp) lbu $5,19($sp) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,1178861568 # 0x46440000 or $4,$4,$3 ori $2,$2,0x5343 bne $4,$2,$L98 lw $31,308($sp) lbu $3,24($sp)$L97: lbu $2,25($sp) sll $3,$3,24 sll $2,$2,16 lbu $4,26($sp) lbu $5,27($sp) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,1668677632 # 0x63760000 or $4,$4,$3 ori $2,$2,0x6964 beq $4,$2,$L94 li $2,44 # 0x2c sw $0,24($16)$L63: lw $2,8($16) beq $2,$0,$L99 move $4,$19 move $4,$18 jal av_new_stream move $5,$0 beq $2,$0,$L61 li $7,1 # 0x1 lw $5,8($2) lw $2,0($2) lw $3,8($16) sw $2,4($16) sw $7,232($5) lw $4,20($16) sw $3,228($5) sw $4,68($5) lw $6,16($16) sw $7,224($5) sw $6,392($5) lw $8,12($16) mul $2,$4,$6 mul $4,$4,$8 addiu $7,$2,7 mul $4,$4,$6 slt $3,$2,0 movn $2,$7,$3 sra $2,$2,3 sw $2,272($5) sw $4,4($5) sw $8,64($5) move $4,$19$L99: move $5,$20 jal get_buffer li $6,16 # 0x10 li $3,16 # 0x10 bne $2,$3,$L72 li $2,-5 # 0xfffffffffffffffb lbu $3,16($sp) lbu $2,17($sp) sll $3,$3,24 sll $2,$2,16 lbu $4,18($sp) lbu $5,19($sp) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,1398013952 # 0x53540000 or $4,$4,$3 ori $2,$2,0x4142 bne $4,$2,$L98 lw $31,308($sp) lbu $2,24($sp) lbu $3,25($sp) lbu $5,27($sp) lbu $4,26($sp) sll $3,$3,16 sll $2,$2,24 or $2,$2,$3 or $2,$2,$5 sll $4,$4,8 or $4,$4,$2 sw $4,40($16) lbu $3,28($sp) lbu $2,29($sp) lbu $4,30($sp) sll $2,$2,16 lbu $5,31($sp) sll $3,$3,24 or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,107347968 # 0x6660000 or $4,$4,$3 ori $2,$2,0x6666 sltu $2,$4,$2 bne $2,$0,$L70 sw $4,28($16) j $L72 li $2,-1 # 0xffffffffffffffff$L92: li $2,65536 # 0x10000 ori $2,$2,0x4 j $L51 sw $2,8($16)$L93: ori $2,$2,0x1 j $L51 sw $2,8($16)$L61: j $L72 li $2,-12 # 0xfffffffffffffff4$L94: sw $2,24($16) move $4,$18 jal av_new_stream move $5,$0 beq $2,$0,$L61 nop lw $6,8($2) lw $3,24($16) lw $2,0($2) sw $3,228($6) sw $2,0($16) sw $0,224($6) sw $0,232($6) lbu $2,32($sp) lbu $4,33($sp) lbu $5,35($sp) lbu $3,34($sp) 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,40($6) lbu $2,28($sp) lbu $4,29($sp) lbu $3,30($sp) lbu $5,31($sp) sll $2,$2,24 sll $4,$4,16 or $2,$2,$4 or $2,$2,$5 sll $3,$3,8 or $3,$3,$2 j $L63 sw $3,44($6)$L70: sll $2,$4,5 sll $4,$4,3 jal av_malloc addu $4,$4,$2 lw $3,96($18) beq $3,$0,$L73 sw $2,32($16) move $17,$18 move $22,$0$L75: lw $4,100($17) lw $7,40($16) li $5,33 # 0x21 jal av_set_pts_info li $6,1 # 0x1 lw $2,96($18) addiu $22,$22,1 sltu $2,$22,$2 bne $2,$0,$L75 addiu $17,$17,4$L73: lw $2,28($16) beq $2,$0,$L76 move $23,$0 li $2,2147418112 # 0x7fff0000 ori $fp,$2,0xffff move $22,$0 j $L78 move $17,$0$L96: lbu $3,16($sp) lbu $4,17($sp) lbu $5,19($sp) lbu $2,18($sp) sll $4,$4,16 sll $3,$3,24 or $3,$3,$4 or $3,$3,$5 lw $4,32($16) sll $2,$2,8 or $2,$2,$3 addu $17,$4,$6 addu $2,$21,$2 sw $2,8($17) sw $0,12($17) lbu $2,20($sp) lbu $3,21($sp) lbu $5,23($sp) sll $3,$3,16 lbu $4,22($sp) sll $2,$2,24 or $2,$2,$3 or $2,$2,$5 sll $4,$4,8 or $18,$4,$2 sw $18,16($17) lbu $2,24($sp) lbu $3,25($sp) sll $2,$2,24 sll $3,$3,16 lbu $4,26($sp) lbu $5,27($sp) or $2,$2,$3 or $2,$2,$5 sll $4,$4,8 or $4,$4,$2 li $3,-1 # 0xffffffffffffffff beq $4,$3,$L95 move $7,$0 lw $2,0($16) sw $2,0($17) lbu $4,24($sp) lbu $5,25($sp) lbu $2,26($sp) lbu $6,27($sp) sll $4,$4,24 sll $5,$5,16 or $4,$4,$5 or $4,$4,$6 sll $2,$2,8 or $2,$2,$4 and $2,$fp,$2 sw $2,24($17) sw $0,28($17) lb $2,24($sp) nor $2,$0,$2 srl $2,$2,31 sw $2,32($17)$L83: lw $2,28($16) addiu $17,$23,1 sltu $2,$17,$2 beq $2,$0,$L76 move $23,$17$L78: move $4,$19 move $5,$20 jal get_buffer li $6,16 # 0x10 sll $3,$17,5 sll $4,$17,3 li $5,16 # 0x10 beq $2,$5,$L96 addu $6,$4,$3 jal av_free lw $4,32($16) j $L72 li $2,-5 # 0xfffffffffffffffb$L76: move $2,$0 j $L72 sw $0,36($16)$L95: lw $2,4($16) sw $2,0($17) lw $4,40($16) lw $6,12($16) multu $22,$4 mflo $4 mfhi $5 sw $4,24($17) jal __divdi3 sw $5,28($17) lw $4,20($16) lw $5,16($16) sw $2,24($17) mul $4,$4,$5 sw $3,28($17) srl $4,$4,3 divu $0,$18,$4 teq $4,$0,7 mflo $4 j $L83 addu $22,$22,$4 .set macro .set reorder .end film_read_header .globl segafilm_demuxer .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "film_cpk\000" .align 2$LC1: .ascii "Sega FILM/CPK format\000" .data .align 2 .type segafilm_demuxer, @object .size segafilm_demuxer, 64segafilm_demuxer: .word $LC0 .word $LC1 .word 56 .word film_probe .word film_read_header .word film_read_packet .word film_read_close .space 36 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?