gifdec.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,701 行 · 第 1/2 页
MID
1,701 行
move $4,$16 .set noreorder .set nomacro jal get_le16 move $19,$2 .set macro .set reorder move $4,$16 .set noreorder .set nomacro jal get_byte sw $2,28($sp) .set macro .set reorder move $3,$2 andi $4,$3,0x40 andi $2,$2,0x80 .set noreorder .set nomacro bne $2,$0,$L250 sw $4,44($sp) .set macro .set reorder lw $17,8($18) addiu $22,$18,16500 lw $3,0($18)$L259: addu $2,$20,$19 slt $2,$3,$2 .set noreorder .set nomacro bne $2,$0,$L224 li $6,-5 # 0xfffffffffffffffb .set macro .set reorder lw $4,28($sp) lw $3,4($18) addu $2,$fp,$4 slt $2,$3,$2 .set noreorder .set nomacro bne $2,$0,$L260 lw $31,92($sp) .set macro .set reorder lw $3,36($18) li $2,2 # 0x2 .set noreorder .set nomacro bne $3,$2,$L157 li $2,1 # 0x1 .set macro .set reorder .set noreorder .set nomacro jal av_malloc move $4,$19 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L224 li $6,-5 # 0xfffffffffffffffb .set macro .set reorder sw $2,48($sp)$L160: move $4,$16 .set noreorder .set nomacro jal get_byte sw $16,48($18) .set macro .set reorder addiu $9,$2,1 lui $3,%hi(mask) addiu $3,$3,%lo(mask) sll $4,$9,1 addu $4,$4,$3 li $5,1 # 0x1 sll $6,$5,$2 lhu $7,0($4) addiu $8,$18,18036 sw $2,80($18) lw $2,28($sp) move $21,$8 addiu $3,$6,1 addiu $8,$6,2 sll $5,$5,$9 addiu $4,$18,116 sw $3,88($18) sw $7,76($18) sw $5,96($18) sw $8,100($18) sw $4,112($18) sw $0,52($18) sw $21,56($18) sw $21,60($18) sw $0,68($18) sw $0,64($18) sw $9,72($18) sw $6,84($18) sw $8,92($18) sw $0,104($18) sw $0,108($18) lw $23,28($18) .set noreorder .set nomacro blez $2,$L170 lw $3,24($18) .set macro .set reorder mul $4,$fp,$23 sll $2,$20,1 addu $2,$2,$20 addu $2,$4,$2 addu $3,$3,$2 sw $3,24($sp) sll $3,$23,2 sw $3,36($sp) sll $4,$23,3 lw $3,24($sp) sw $4,32($sp) lw $4,36($sp) sll $2,$23,1 sw $2,40($sp) addu $4,$3,$4 addu $2,$3,$2 move $16,$3 move $17,$0 move $fp,$0 move $20,$0 sw $2,20($sp) .set noreorder .set nomacro j $L172 sw $4,16($sp) .set macro .set reorder$L252: .set noreorder .set nomacro beq $fp,$2,$L181 li $2,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro beq $fp,$2,$L182 lw $3,28($sp) .set macro .set reorder addiu $20,$20,8 slt $2,$20,$3 .set noreorder .set nomacro beq $2,$0,$L183 lw $2,16($sp) .set macro .set reorder lw $4,32($sp) addu $16,$16,$4$L185: lw $4,28($sp) addiu $17,$17,1 beq $4,$17,$L170$L172: lw $2,36($18) li $3,2 # 0x2 .set noreorder .set nomacro beq $2,$3,$L251 move $4,$18 .set macro .set reorder move $5,$16 .set noreorder .set nomacro jal GLZWDecode move $6,$19 .set macro .set reorder$L175: lw $4,44($sp)$L257: .set noreorder .set nomacro bne $4,$0,$L252 li $2,2 # 0x2 .set macro .set reorder lw $4,28($sp) addiu $17,$17,1 .set noreorder .set nomacro bne $4,$17,$L172 addu $16,$16,$23 .set macro .set reorder$L170: .set noreorder .set nomacro jal av_free lw $4,48($sp) .set macro .set reorder lw $7,52($18) bne $7,$0,$L192 lw $5,64($18) lw $9,72($18)$L191: slt $2,$5,$9 bne $2,$0,$L230 .set noreorder .set nomacro j $L256 lw $4,68($18) .set macro .set reorder$L194: lbu $2,0($8) lw $4,68($18) sll $2,$2,$5 addiu $5,$5,8 or $4,$4,$2 addiu $3,$8,1 slt $2,$5,$9 sw $5,64($18) sw $3,56($18) .set noreorder .set nomacro beq $2,$0,$L200 sw $4,68($18) .set macro .set reorder$L230: lw $8,56($18) lw $2,60($18) sltu $2,$8,$2 bne $2,$0,$L194 bne $7,$0,$L194 .set noreorder .set nomacro jal get_byte lw $4,48($18) .set macro .set reorder addu $3,$21,$2 move $6,$2 move $8,$21 move $5,$21 li $7,1 # 0x1 sw $3,60($18) .set noreorder .set nomacro blez $2,$L198 sw $21,56($18) .set macro .set reorder .set noreorder .set nomacro jal get_buffer lw $4,48($18) .set macro .set reorder lw $8,56($18) lw $5,64($18) lbu $2,0($8) lw $4,68($18) lw $9,72($18) sll $2,$2,$5 addiu $5,$5,8 or $4,$4,$2 addiu $3,$8,1 slt $2,$5,$9 lw $7,52($18) sw $5,64($18) sw $3,56($18) .set noreorder .set nomacro bne $2,$0,$L230 sw $4,68($18) .set macro .set reorder$L200: srl $4,$4,$9$L258: subu $5,$5,$9 sw $4,68($18) .set noreorder .set nomacro beq $7,$0,$L191 sw $5,64($18) .set macro .set reorder$L192: lw $2,0($18) lw $3,4($18) sll $5,$2,1 addu $5,$5,$2 mul $5,$5,$3 .set noreorder .set nomacro jal av_new_packet lw $4,100($sp) .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L224 li $6,-5 # 0xfffffffffffffffb .set macro .set reorder lw $2,100($sp) lw $7,24($18) sw $0,24($2) lw $3,0($18) lw $4,4($18) sll $2,$3,1 addu $2,$2,$3 mul $6,$2,$4 lw $2,100($sp) lw $4,16($2) sltu $2,$6,32 .set noreorder .set nomacro bne $2,$0,$L212 andi $2,$4,0x3 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L212 andi $2,$7,0x3 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L212 li $2,-32 # 0xffffffffffffffe0 .set macro .set reorder addiu $5,$4,-4 and $2,$6,$2 addu $8,$5,$2 sltu $3,$5,$8 .set noreorder .set nomacro beq $3,$0,$L216 addiu $4,$7,-4 .set macro .set reorder$L231:#APP S32LDI xr1,$4,4 S32LDI xr2,$4,4 S32LDI xr3,$4,4 S32LDI xr4,$4,4 S32LDI xr5,$4,4 S32LDI xr6,$4,4 S32LDI xr7,$4,4 S32LDI xr8,$4,4 S32SDI xr1,$5,4 S32SDI xr2,$5,4 S32SDI xr3,$5,4 S32SDI xr4,$5,4 S32SDI xr5,$5,4 S32SDI xr6,$5,4 S32SDI xr7,$5,4 S32SDI xr8,$5,4#NO_APP sltu $2,$5,$8 bne $2,$0,$L231$L216: andi $2,$6,0x1c addu $7,$8,$2 sltu $3,$5,$7 beq $3,$0,$L218$L232:#APP S32LDI xr1,$4,4 S32SDI xr1,$5,4#NO_APP sltu $2,$5,$7 bne $2,$0,$L232$L218: andi $6,$6,0x3 li $2,2 # 0x2 .set noreorder .set nomacro beq $6,$2,$L222 li $2,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro beq $6,$2,$L223 li $2,1 # 0x1 .set macro .set reorder bne $6,$2,$L248 lbu $2,4($4) move $6,$0 .set noreorder .set nomacro j $L224 sb $2,4($5) .set macro .set reorder$L150: lw $19,48($18) .set noreorder .set nomacro jal get_byte move $4,$19 .set macro .set reorder move $4,$19 .set noreorder .set nomacro jal get_byte move $16,$2 .set macro .set reorder move $17,$2 li $2,249 # 0xf9 .set noreorder .set nomacro beq $16,$2,$L254 li $2,4 # 0x4 .set macro .set reorder$L247: beq $17,$0,$L245$L255: blez $17,$L210 move $16,$0 addiu $16,$16,1$L261: .set noreorder .set nomacro jal get_byte move $4,$19 .set macro .set reorder .set noreorder .set nomacro bne $16,$17,$L261 addiu $16,$16,1 .set macro .set reorder addiu $16,$16,-1$L210: .set noreorder .set nomacro jal get_byte move $4,$19 .set macro .set reorder move $17,$2 beq $17,$0,$L245 j $L255$L254: bne $17,$2,$L247 li $17,-1 # 0xffffffffffffffff sw $17,16($18) .set noreorder .set nomacro jal get_byte move $4,$19 .set macro .set reorder move $4,$19 .set noreorder .set nomacro jal get_le16 move $16,$2 .set macro .set reorder sw $2,44($18) .set noreorder .set nomacro jal get_byte move $4,$19 .set macro .set reorder sra $3,$16,2 andi $16,$16,0x1 movz $2,$17,$16 andi $3,$3,0x7 sw $2,16($18) sw $3,40($18) .set noreorder .set nomacro jal get_byte move $4,$19 .set macro .set reorder move $17,$2 beq $17,$0,$L245 j $L255$L251: lw $5,48($sp) .set noreorder .set nomacro jal GLZWDecode move $6,$19 .set macro .set reorder .set noreorder .set nomacro blez $19,$L175 move $5,$16 .set macro .set reorder lw $6,48($sp) move $7,$0$L177: lbu $3,0($6) addiu $7,$7,1 sll $2,$3,1 addu $2,$2,$3 addu $2,$22,$2 lbu $4,0($2) addiu $6,$6,1 sb $4,0($5) lbu $3,1($2) sb $3,1($5) lbu $4,2($2) sb $4,2($5) .set noreorder .set nomacro bne $19,$7,$L177 addiu $5,$5,3 .set macro .set reorder .set noreorder .set nomacro j $L257 lw $4,44($sp) .set macro .set reorder$L181: lw $3,28($sp) addiu $20,$20,4 slt $2,$20,$3 .set noreorder .set nomacro beq $2,$0,$L189 lw $2,24($sp) .set macro .set reorder lw $4,36($sp) .set noreorder .set nomacro j $L185 addu $16,$16,$4 .set macro .set reorder$L183: lw $16,20($sp) li $20,4 # 0x4 movz $16,$2,$fp .set noreorder .set nomacro j $L185 addiu $fp,$fp,1 .set macro .set reorder$L198: lw $5,64($18) lw $9,72($18) .set noreorder .set nomacro j $L194 sw $7,52($18) .set macro .set reorder$L182: lw $3,40($sp) addiu $20,$20,2 .set noreorder .set nomacro j $L185 addu $16,$16,$3 .set macro .set reorder$L256: .set noreorder .set nomacro j $L258 srl $4,$4,$9 .set macro .set reorder$L250: andi $2,$3,0x7 addiu $17,$2,1 addiu $22,$18,17268 li $6,3 # 0x3 sll $6,$6,$17 move $4,$16 .set noreorder .set nomacro jal get_buffer move $5,$22 .set macro .set reorder .set noreorder .set nomacro j $L259 lw $3,0($18) .set macro .set reorder$L189: li $fp,3 # 0x3 addu $16,$2,$23 .set noreorder .set nomacro j $L185 li $20,1 # 0x1 .set macro .set reorder$L212: .set noreorder .set nomacro jal memcpy move $5,$7 .set macro .set reorder$L248: .set noreorder .set nomacro j $L224 move $6,$0 .set macro .set reorder$L157: sll $7,$2,$17 blez $7,$L161 lw $9,32($18) move $5,$22 move $8,$0 li $10,-16777216 # 0xffffffffff000000 move $6,$9$L163: lbu $2,0($5) lbu $3,1($5) lbu $4,2($5) sll $2,$2,16 sll $3,$3,8 or $2,$2,$4 or $3,$3,$10 or $2,$2,$3 addiu $8,$8,1 sw $2,0($6) addiu $5,$5,3 .set noreorder .set nomacro bne $7,$8,$L163 addiu $6,$6,4 .set macro .set reorder slt $2,$7,256 beq $2,$0,$L166$L165: sll $5,$7,2$L167: addiu $7,$7,1 addu $2,$9,$5 li $3,-16777216 # 0xffffffffff000000 slt $4,$7,256 sw $3,0($2) .set noreorder .set nomacro bne $4,$0,$L167 addiu $5,$5,4 .set macro .set reorder$L166: lw $2,16($18) .set noreorder .set nomacro bltz $2,$L246 sll $2,$2,2 .set macro .set reorder addu $2,$2,$9 sw $0,0($2)$L246: .set noreorder .set nomacro j $L160 sw $0,48($sp) .set macro .set reorder$L161: lw $9,32($18) .set noreorder .set nomacro j $L165 move $7,$0 .set macro .set reorder$L222: lbu $3,4($4) move $6,$0 sb $3,4($5) lbu $2,5($4) .set noreorder .set nomacro j $L224 sb $2,5($5) .set macro .set reorder$L223: lbu $2,4($4) move $6,$0 sb $2,4($5) lbu $3,5($4) sb $3,5($5) lbu $2,6($4) .set noreorder .set nomacro j $L224 sb $2,6($5) .set macro .set reorder .end gif_read_packet .globl gif_demuxer .section .rodata.str1.4 .align 2$LC1: .ascii "gif\000" .align 2$LC2: .ascii "gif format\000" .data .align 2 .type gif_demuxer, @object .size gif_demuxer, 64gif_demuxer: .word $LC1 .word $LC2 .word 18292 .word gif_video_probe .word gif_read_header .word gif_read_packet .word gif_read_close .space 36 .rdata .align 2 .type mask, @object .size mask, 34mask: .half 0 .half 1 .half 3 .half 7 .half 15 .half 31 .half 63 .half 127 .half 255 .half 511 .half 1023 .half 2047 .half 4095 .half 8191 .half 16383 .half 32767 .half -1 .align 2 .type gif87a_sig, @object .size gif87a_sig, 6gif87a_sig: .ascii "GIF87a" .align 2 .type gif89a_sig, @object .size gif89a_sig, 6gif89a_sig: .ascii "GIF89a" .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?