c93.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 483 行
MID
483 行
.file 1 "c93.c" .section .mdebug.abi32 .previous .section .text.probe,"ax",@progbits .align 2 .align 5 .ent probe .type probe, @functionprobe: .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,1 # 0x1 lbu $3,0($4) beq $3,$2,$L11 move $6,$0$L8: j $31 move $2,$6$L11: lbu $2,1($4) bne $2,$0,$L8 nop lbu $2,2($4) lbu $3,4($4) addiu $2,$2,1 bne $3,$2,$L8 nop lbu $2,6($4) lbu $5,8($4) addu $2,$3,$2 bne $5,$2,$L8 nop lbu $2,10($4) lbu $3,12($4) addu $2,$5,$2 bne $3,$2,$L8 nop j $L8 li $6,100 # 0x64 .set macro .set reorder .end probe .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "invalid palette size %u\012\000" .section .text.read_packet,"ax",@progbits .align 2 .align 5 .ent read_packet .type read_packet, @functionread_packet: .frame $sp,56,$31 # vars= 0, regs= 8/0, args= 24, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $22,48($sp) sw $21,44($sp) sw $19,36($sp) sw $31,52($sp) sw $20,40($sp) sw $18,32($sp) sw $17,28($sp) sw $16,24($sp) lw $18,12($4) move $22,$4 lw $2,2188($18) move $21,$5 addiu $19,$4,16 bne $2,$0,$L46 lw $16,2052($18)$L13: sll $2,$16,2$L51: addu $4,$18,$2 addiu $20,$4,4 lw $3,2184($18) lbu $2,3($20) slt $2,$3,$2 beq $2,$0,$L47 nop beq $3,$0,$L27 nop$L28: sll $2,$3,2 lhu $6,0($20) addu $2,$2,$18 lw $3,2056($2) sll $6,$6,11 addu $6,$6,$3 move $7,$0 move $4,$19 jal url_fseek sw $0,16($sp) jal get_le16 move $4,$19 addiu $5,$2,769 move $4,$21 jal av_new_packet move $16,$2 bltz $2,$L20 move $17,$2 lw $2,16($21) addiu $3,$16,1 sb $0,0($2) lw $5,16($21) sw $3,20($21) addiu $5,$5,1 move $4,$19 jal get_buffer move $6,$16 slt $2,$2,$16 beq $2,$0,$L48 li $17,-5 # 0xfffffffffffffffb$L31:$L37: lw $2,36($21) beq $2,$0,$L20 nop jal $2 move $4,$21$L20: move $2,$17 lw $31,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,56$L47: lw $3,2052($18) slt $2,$3,511 beq $2,$0,$L20 li $17,-5 # 0xfffffffffffffffb addiu $20,$4,8 lbu $2,2($20) beq $2,$0,$L20 addiu $2,$3,1 sw $2,2052($18) sw $0,2184($18)$L27: lhu $2,0($20) move $4,$19 sll $2,$2,11 move $6,$2 move $7,$0 sw $0,16($sp) jal url_fseek move $16,$0 li $17,128 # 0x80$L29: jal get_le32 move $4,$19 addu $3,$18,$16 addiu $16,$16,4 bne $16,$17,$L29 sw $2,2056($3) j $L28 lw $3,2184($18)$L46: lw $2,2184($18) sw $0,2188($18) addiu $3,$2,1 sw $3,2184($18) jal get_le16 move $4,$19 move $17,$2 slt $2,$2,43 bne $2,$0,$L51 sll $2,$16,2 lw $2,2192($18) beq $2,$0,$L49 move $4,$22$L16: li $6,26 # 0x1a move $7,$0 jal url_fskip move $4,$19 lw $6,2192($18) addiu $7,$17,-26 move $4,$22 jal voc_get_packet move $5,$21 blez $2,$L13 move $17,$2 lw $2,28($21) li $3,1 # 0x1 ori $2,$2,0x1 sw $2,28($21) sw $3,24($21) move $2,$17 lw $31,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,56$L48: jal get_le16 move $4,$19 beq $2,$0,$L33 move $7,$2 li $2,768 # 0x300 beq $7,$2,$L35 lui $6,%hi($LC0) move $4,$22 addiu $6,$6,%lo($LC0) jal av_log move $5,$0 j $L37 li $17,-22 # 0xffffffffffffffea$L35: lw $5,16($21) move $4,$19 lbu $2,0($5) li $6,768 # 0x300 ori $2,$2,0x1 sb $2,0($5) lw $3,16($21) lw $5,20($21) jal get_buffer addu $5,$3,$5 slt $2,$2,768 bne $2,$0,$L37 li $17,-5 # 0xfffffffffffffffb lw $2,20($21) addiu $2,$2,768 sw $2,20($21)$L33: sw $0,24($21) lw $3,2052($18) li $2,1 # 0x1 bne $3,$0,$L39 sw $2,2188($18) lw $2,2184($18) bne $2,$0,$L39 nop lw $2,28($21) lw $4,16($21) ori $2,$2,0x1 sw $2,28($21) lbu $3,0($4) move $17,$0 ori $3,$3,0x2 j $L20 sb $3,0($4)$L39: j $L20 move $17,$0$L49: jal av_new_stream li $5,1 # 0x1 beq $2,$0,$L50 sw $2,2192($18) lw $3,8($2) li $2,1 # 0x1 j $L16 sw $2,224($3)$L50: j $L20 li $17,-12 # 0xfffffffffffffff4 .set macro .set reorder .end read_packet .section .rodata.str1.4 .align 2$LC1: .ascii "too many frames in block\012\000" .section .text.read_header,"ax",@progbits .align 2 .align 5 .ent read_header .type read_header, @functionread_header: .frame $sp,48,$31 # vars= 0, regs= 8/0, args= 16, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sw $21,36($sp) sw $20,32($sp) sw $19,28($sp) sw $18,24($sp) sw $17,20($sp) sw $16,16($sp) sw $31,44($sp) sw $22,40($sp) lw $22,12($4) move $21,$4 addiu $17,$4,16 addiu $16,$22,4 move $18,$0 move $19,$0 j $L53 li $20,512 # 0x200$L65: beq $18,$20,$L64 move $4,$21$L53: jal get_le16 move $4,$17 sh $2,0($16) jal get_byte move $4,$17 sb $2,2($16) jal get_byte move $4,$17 andi $2,$2,0x00ff sltu $3,$2,33 sb $2,3($16) addiu $18,$18,1 addu $19,$19,$2 bne $3,$0,$L65 addiu $16,$16,4 lui $6,%hi($LC1) move $4,$21 addiu $6,$6,%lo($LC1) jal av_log move $5,$0 li $2,-22 # 0xffffffffffffffea$L56: lw $31,44($sp) lw $22,40($sp) lw $21,36($sp) lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,48$L64: lw $2,3816($21) ori $2,$2,0x1 sw $2,3816($21) jal av_new_stream move $5,$0 beq $2,$0,$L66 move $7,$2 lw $6,8($2) li $4,5 # 0x5 sw $4,400($6) li $5,320 # 0x140 li $4,192 # 0xc0 sw $5,40($6) sw $4,44($6) li $5,6 # 0x6 li $4,2 # 0x2 sw $5,404($6) sw $4,64($7) li $5,25 # 0x19 li $4,106 # 0x6a sw $5,68($7) sw $4,228($6) sra $3,$19,31 move $4,$0 move $5,$0 sw $19,96($7) sw $3,100($7) sw $4,88($7) sw $5,92($7) sw $0,2188($22) sw $0,224($6) sw $19,160($7) sw $3,164($7) sw $0,2052($22) sw $0,2184($22) lw $31,44($sp) lw $22,40($sp) lw $21,36($sp) 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,48$L66: j $L56 li $2,-12 # 0xfffffffffffffff4 .set macro .set reorder .end read_header .globl c93_demuxer .section .rodata.str1.4 .align 2$LC2: .ascii "c93\000" .align 2$LC3: .ascii "Interplay C93\000" .data .align 2 .type c93_demuxer, @object .size c93_demuxer, 64c93_demuxer: .word $LC2 .word $LC3 .word 2196 .word probe .word read_header .word read_packet .space 40 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?