gifdec.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,701 行 · 第 1/2 页
MID
1,701 行
.file 1 "gifdec.c" .section .mdebug.abi32 .previous .section .text.gif_read_close,"ax",@progbits .align 2 .align 5 .ent gif_read_close .type gif_read_close, @functiongif_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,24($2) lw $31,16($sp) move $2,$0 j $31 addiu $sp,$sp,24 .set macro .set reorder .end gif_read_close .section .text.gif_video_probe,"ax",@progbits .align 2 .align 5 .ent gif_video_probe .type gif_video_probe, @functiongif_video_probe: .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $31,24($sp) sw $17,20($sp) sw $16,16($sp) lw $17,8($4) slt $2,$17,24 beq $2,$0,$L35 lui $5,%hi(gif89a_sig)$L4: move $2,$0$L25: lw $31,24($sp)$L39: lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32$L35: lw $16,4($4) addiu $5,$5,%lo(gif89a_sig) move $4,$16 jal memcmp li $6,6 # 0x6 bne $2,$0,$L4 addu $6,$16,$17 lbu $3,10($16) andi $2,$3,0x80 bne $2,$0,$L36 addiu $5,$16,13$L7: sltu $2,$5,$6 beq $2,$0,$L4 li $2,33 # 0x21 lbu $3,0($5) bne $3,$2,$L4 addiu $2,$5,1 sltu $2,$2,$6 beq $2,$0,$L4 addiu $2,$5,2 sltu $2,$2,$6 beq $2,$0,$L4 lbu $7,1($5) li $2,249 # 0xf9 addiu $4,$5,3 bne $7,$2,$L33 lbu $3,2($5) j $L37 sltu $2,$4,$6$L21: sltu $2,$4,$6 beq $2,$0,$L4 li $2,33 # 0x21 lbu $3,0($4) bne $3,$2,$L4 addiu $2,$4,1 sltu $2,$2,$6 beq $2,$0,$L4 addiu $2,$4,2 sltu $2,$2,$6 beq $2,$0,$L4 lbu $5,1($4) li $2,249 # 0xf9 lbu $3,2($4) beq $5,$2,$L13 addiu $4,$4,3$L33: beq $3,$0,$L21 move $2,$3 addu $4,$2,$4$L38: sltu $2,$4,$6 beq $2,$0,$L25 move $2,$0 lbu $2,0($4) beq $2,$0,$L21 addiu $4,$4,1 j $L38 addu $4,$2,$4$L36: andi $3,$3,0x7 addiu $3,$3,1 li $2,3 # 0x3 sll $2,$2,$3 j $L7 addu $5,$5,$2$L13: sltu $2,$4,$6$L37: beq $2,$0,$L25 move $2,$0 lbu $2,0($4) sra $2,$2,2 andi $2,$2,0x7 beq $2,$0,$L4 li $2,100 # 0x64 j $L39 lw $31,24($sp) .set macro .set reorder .end gif_video_probe .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "picture size too large\012\000" .section .text.gif_read_header,"ax",@progbits .align 2 .align 5 .ent gif_read_header .type gif_read_header, @functiongif_read_header: .frame $sp,48,$31 # vars= 8, regs= 5/0, args= 16, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sw $19,36($sp) sw $17,28($sp) sw $16,24($sp) sw $31,40($sp) sw $18,32($sp) lw $18,12($4) addiu $17,$4,16 addiu $16,$sp,16 move $19,$4 sw $17,48($18) move $4,$17 move $5,$16 jal get_buffer li $6,6 # 0x6 li $3,6 # 0x6 bne $2,$3,$L41 lui $5,%hi(gif87a_sig) addiu $5,$5,%lo(gif87a_sig) move $4,$16 jal memcmp li $6,6 # 0x6 bne $2,$0,$L55 lui $5,%hi(gif89a_sig) li $2,-1 # 0xffffffffffffffff$L58: move $4,$17 jal get_le16 sw $2,16($18) sw $2,0($18) jal get_le16 move $4,$17 move $4,$2 lw $2,0($18) li $3,32767 # 0x7fff sltu $2,$3,$2 bne $2,$0,$L45 sw $4,4($18) li $2,32768 # 0x8000 sltu $2,$4,$2 bne $2,$0,$L47 nop$L45: lui $6,%hi($LC0) addiu $6,$6,%lo($LC0) move $4,$0 jal av_log move $5,$0 li $6,-1 # 0xffffffffffffffff$L48: 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$L55: move $4,$16 addiu $5,$5,%lo(gif89a_sig) jal memcmp li $6,6 # 0x6 beq $2,$0,$L58 li $2,-1 # 0xffffffffffffffff$L41: li $6,-1 # 0xffffffffffffffff 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$L47: jal get_byte move $4,$17 move $16,$2 andi $2,$2,0x70 andi $3,$16,0x7 sra $2,$2,4 addiu $3,$3,1 addiu $2,$2,1 sw $3,8($18) move $4,$17 jal get_byte sw $2,20($18) sw $2,12($18) move $4,$17 jal get_byte andi $16,$16,0x80 bne $16,$0,$L56 li $6,1 # 0x1 lw $3,0($18)$L57: lw $4,4($18) sll $2,$3,1 addu $2,$2,$3 mul $4,$2,$4 jal av_malloc sw $2,28($18) bne $2,$0,$L51 sw $2,24($18) j $L48 li $6,-12 # 0xfffffffffffffff4$L56: lw $2,8($18) sll $6,$6,$2 sll $3,$6,1 addu $6,$3,$6 move $4,$17 jal get_buffer addiu $5,$18,16500 j $L57 lw $3,0($18)$L51: li $16,2 # 0x2 sw $16,36($18) move $4,$19 jal av_new_stream move $5,$0 beq $2,$0,$L41 li $3,1 # 0x1 lw $4,8($2) li $2,5 # 0x5 sw $2,36($4) sw $3,32($4) lw $2,0($18) move $6,$0 sw $2,40($4) lw $3,4($18) li $2,14 # 0xe sw $16,52($4) sw $2,228($4) sw $3,44($4) j $L48 sw $0,224($4) .set macro .set reorder .end gif_read_header .section .text.GLZWDecode,"ax",@progbits .align 2 .align 5 .ent GLZWDecode .type GLZWDecode, @functionGLZWDecode: .frame $sp,56,$31 # vars= 0, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $19,28($sp) sw $16,16($sp) sw $31,52($sp) sw $fp,48($sp) sw $23,44($sp) sw $22,40($sp) sw $21,36($sp) sw $20,32($sp) sw $18,24($sp) sw $17,20($sp) lw $2,88($4) move $16,$4 move $19,$5 bltz $2,$L133 sw $6,64($sp) lw $17,112($4) lw $23,108($4) lw $22,104($4) move $18,$6 j $L63 addiu $21,$4,116$L135: addiu $19,$19,1$L63: sltu $2,$21,$17 beq $2,$0,$L134 addiu $fp,$16,18036 addiu $17,$17,-1 lbu $2,0($17) addiu $18,$18,-1 bne $18,$0,$L135 sb $2,0($19)$L65: sw $22,104($16)$L141: sw $23,108($16) lw $3,64($sp) sw $17,112($16) subu $2,$3,$18 lw $31,52($sp) lw $fp,48($sp) lw $23,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,56$L134:$L132: lw $8,72($16) lw $6,64($16) slt $2,$6,$8 bne $2,$0,$L120 nop j $L140 lw $7,68($16)$L71: lbu $2,0($4) lw $7,68($16) sll $2,$2,$6 addiu $6,$6,8 or $7,$7,$2 addiu $4,$4,1 slt $2,$6,$8 sw $6,64($16) sw $4,56($16) beq $2,$0,$L69 sw $7,68($16)$L120: lw $4,56($16) lw $2,60($16) sltu $2,$4,$2 bne $2,$0,$L71 nop lw $2,52($16) bne $2,$0,$L71 nop jal get_byte lw $4,48($16) addu $3,$fp,$2 move $6,$2 move $4,$fp move $5,$fp sw $3,60($16) blez $2,$L75 sw $fp,56($16) jal get_buffer lw $4,48($16) lw $4,56($16) lw $6,64($16) lbu $2,0($4) lw $7,68($16) lw $8,72($16) sll $2,$2,$6 addiu $6,$6,8 or $7,$7,$2 addiu $4,$4,1 slt $2,$6,$8 sw $6,64($16) sw $4,56($16) bne $2,$0,$L120 sw $7,68($16)$L69: lw $2,76($16)$L143: lw $3,88($16) subu $6,$6,$8 and $10,$7,$2 srl $7,$7,$8 sw $7,68($16) beq $10,$3,$L117 sw $6,64($16) lw $9,84($16) beq $10,$9,$L136 addiu $20,$16,18036 lw $2,100($16) slt $2,$10,$2 beq $2,$0,$L97 addiu $7,$17,1 move $7,$17 move $6,$10$L99: lw $2,92($16) slt $2,$6,$2 bne $2,$0,$L144 andi $11,$6,0x00ff$L122: addu $3,$6,$16 lbu $4,4212($3) sll $2,$6,1 sb $4,0($7) addu $2,$2,$16 lhu $6,8308($2) lw $3,92($16) slt $3,$6,$3 beq $3,$0,$L122 addiu $7,$7,1 andi $11,$6,0x00ff$L144: sb $11,0($7) lw $8,100($16) lw $9,96($16) slt $2,$8,$9 beq $2,$0,$L102 addiu $17,$7,1 addiu $4,$8,1 sll $3,$8,1 addu $3,$3,$16 addu $2,$8,$16 slt $5,$4,$9 sb $11,4212($2) sh $23,8308($3) bne $5,$0,$L104 sw $4,100($16) move $22,$6 move $23,$10$L102: lw $5,72($16) slt $2,$5,12 beq $2,$0,$L145 sltu $2,$21,$17 addiu $5,$5,1 lui $3,%hi(mask) addiu $3,$3,%lo(mask) sll $2,$5,1 addu $2,$2,$3 lhu $4,0($2) sll $3,$9,1 sw $3,96($16) sw $4,76($16) sw $5,72($16)$L106: sltu $2,$21,$17$L145: beq $2,$0,$L132 nop addiu $17,$17,-1 lbu $2,0($17) addiu $18,$18,-1 beq $18,$0,$L65 sb $2,0($19) addiu $19,$19,1 j $L110 subu $3,$21,$7$L137: addiu $19,$19,1$L110: addu $2,$3,$7 beq $2,$17,$L132 nop addiu $17,$17,-1 lbu $2,0($17) addiu $18,$18,-1 bne $18,$0,$L137 sb $2,0($19) j $L141 sw $22,104($16)$L75: lw $6,64($16) lw $8,72($16) li $2,1 # 0x1 j $L71 sw $2,52($16)$L97: move $6,$23 j $L99 sb $22,0($17)$L136: lw $3,80($16) lw $5,92($16) addiu $8,$3,1 lui $3,%hi(mask) addiu $3,$3,%lo(mask) sll $2,$8,1 addu $2,$2,$3 lhu $3,0($2) li $2,1 # 0x1 sll $4,$2,$8 sw $3,76($16) sw $5,100($16) sw $4,96($16) sw $8,72($16)$L81: slt $2,$6,$8 bne $2,$0,$L121 nop j $L142 lw $2,76($16)$L84: lbu $2,0($4) addiu $4,$4,1 sll $2,$2,$6 addiu $6,$6,8 or $7,$7,$2 slt $3,$6,$8 sw $7,68($16) sw $6,64($16) beq $3,$0,$L138 sw $4,56($16)$L121: lw $4,56($16) lw $2,60($16) sltu $2,$4,$2 bne $2,$0,$L84 nop lw $2,52($16) bne $2,$0,$L84 nop jal get_byte lw $4,48($16) addu $3,$20,$2 move $6,$2 move $4,$20 move $5,$20 sw $3,60($16) blez $2,$L88 sw $20,56($16) jal get_buffer lw $4,48($16) lw $4,56($16) lw $6,64($16) lbu $2,0($4) lw $7,68($16) lw $8,72($16) sll $2,$2,$6 addiu $6,$6,8 addiu $4,$4,1 or $7,$7,$2 slt $3,$6,$8 sw $7,68($16) sw $6,64($16) bne $3,$0,$L121 sw $4,56($16)$L138: lw $9,84($16) lw $2,76($16)$L142: srl $4,$7,$8 subu $3,$6,$8 and $5,$7,$2 move $6,$3 move $7,$4 sw $4,68($16) beq $5,$9,$L81 sw $3,64($16) lw $2,88($16) beq $5,$2,$L146 li $2,-1 # 0xffffffffffffffff lw $2,100($16) slt $2,$5,$2 bne $2,$0,$L93 nop move $5,$0$L95: addiu $18,$18,-1 beq $18,$0,$L139 sb $2,0($19) move $22,$5 addiu $19,$19,1 j $L132 move $23,$5$L88: lw $6,64($16) lw $7,68($16) lw $8,72($16) li $3,1 # 0x1 j $L84 sw $3,52($16)$L133: lw $31,52($sp) lw $fp,48($sp) lw $23,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,56$L104: move $22,$6 j $L106 move $23,$10$L93: j $L95 andi $2,$5,0x00ff$L140: j $L143 lw $2,76($16)$L117: li $2,-1 # 0xffffffffffffffff$L146: j $L65 sw $2,88($16)$L139: move $22,$5 j $L65 move $23,$5 .set macro .set reorder .end GLZWDecode .section .text.gif_read_packet,"ax",@progbits .align 2 .align 5 .ent gif_read_packet .type gif_read_packet, @functiongif_read_packet: .frame $sp,96,$31 # vars= 40, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-96 sw $31,92($sp) sw $fp,88($sp) sw $23,84($sp) sw $22,80($sp) sw $21,76($sp) sw $20,72($sp) sw $19,68($sp) sw $18,64($sp) sw $17,60($sp) sw $16,56($sp) lw $18,12($4) sw $5,100($sp) lw $20,48($18)$L245: .set noreorder .set nomacro jal url_fgetc move $4,$20 .set macro .set reorder move $3,$2 li $2,33 # 0x21 .set noreorder .set nomacro beq $3,$2,$L150 li $2,44 # 0x2c .set macro .set reorder .set noreorder .set nomacro beq $3,$2,$L249 li $6,-5 # 0xfffffffffffffffb .set macro .set reorder$L224: lw $31,92($sp)$L260: lw $fp,88($sp) lw $23,84($sp) lw $22,80($sp) lw $21,76($sp) lw $20,72($sp) lw $19,68($sp) lw $18,64($sp) lw $17,60($sp) lw $16,56($sp) move $2,$6 .set noreorder .set nomacro j $31 addiu $sp,$sp,96 .set macro .set reorder$L249: lw $16,48($18) .set noreorder .set nomacro jal get_le16 move $4,$16 .set macro .set reorder move $4,$16 .set noreorder .set nomacro jal get_le16 move $20,$2 .set macro .set reorder move $4,$16 .set noreorder .set nomacro jal get_le16 move $fp,$2 .set macro .set reorder
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?