gifdec.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 1,701 行 · 第 1/2 页
S
1,701 行
move $4,$16.set noreorder.set nomacrojal get_le16move $19,$2.set macro.set reordermove $4,$16.set noreorder.set nomacrojal get_bytesw $2,28($sp).set macro.set reordermove $3,$2andi $4,$3,0x40andi $2,$2,0x80.set noreorder.set nomacrobne $2,$0,$L250sw $4,44($sp).set macro.set reorderlw $17,8($18)addiu $22,$18,16500lw $3,0($18)$L259:addu $2,$20,$19slt $2,$3,$2.set noreorder.set nomacrobne $2,$0,$L224li $6,-5 # 0xfffffffffffffffb.set macro.set reorderlw $4,28($sp)lw $3,4($18)addu $2,$fp,$4slt $2,$3,$2.set noreorder.set nomacrobne $2,$0,$L260lw $31,92($sp).set macro.set reorderlw $3,36($18)li $2,2 # 0x2.set noreorder.set nomacrobne $3,$2,$L157li $2,1 # 0x1.set macro.set reorder.set noreorder.set nomacrojal av_mallocmove $4,$19.set macro.set reorder.set noreorder.set nomacrobeq $2,$0,$L224li $6,-5 # 0xfffffffffffffffb.set macro.set reordersw $2,48($sp)$L160:move $4,$16.set noreorder.set nomacrojal get_bytesw $16,48($18).set macro.set reorderaddiu $9,$2,1lui $3,%hi(mask)addiu $3,$3,%lo(mask)sll $4,$9,1addu $4,$4,$3li $5,1 # 0x1sll $6,$5,$2lhu $7,0($4)addiu $8,$18,18036sw $2,80($18)lw $2,28($sp)move $21,$8addiu $3,$6,1addiu $8,$6,2sll $5,$5,$9addiu $4,$18,116sw $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 nomacroblez $2,$L170lw $3,24($18).set macro.set reordermul $4,$fp,$23sll $2,$20,1addu $2,$2,$20addu $2,$4,$2addu $3,$3,$2sw $3,24($sp)sll $3,$23,2sw $3,36($sp)sll $4,$23,3lw $3,24($sp)sw $4,32($sp)lw $4,36($sp)sll $2,$23,1sw $2,40($sp)addu $4,$3,$4addu $2,$3,$2move $16,$3move $17,$0move $fp,$0move $20,$0sw $2,20($sp).set noreorder.set nomacroj $L172sw $4,16($sp).set macro.set reorder$L252:.set noreorder.set nomacrobeq $fp,$2,$L181li $2,3 # 0x3.set macro.set reorder.set noreorder.set nomacrobeq $fp,$2,$L182lw $3,28($sp).set macro.set reorderaddiu $20,$20,8slt $2,$20,$3.set noreorder.set nomacrobeq $2,$0,$L183lw $2,16($sp).set macro.set reorderlw $4,32($sp)addu $16,$16,$4$L185:lw $4,28($sp)addiu $17,$17,1beq $4,$17,$L170$L172:lw $2,36($18)li $3,2 # 0x2.set noreorder.set nomacrobeq $2,$3,$L251move $4,$18.set macro.set reordermove $5,$16.set noreorder.set nomacrojal GLZWDecodemove $6,$19.set macro.set reorder$L175:lw $4,44($sp)$L257:.set noreorder.set nomacrobne $4,$0,$L252li $2,2 # 0x2.set macro.set reorderlw $4,28($sp)addiu $17,$17,1.set noreorder.set nomacrobne $4,$17,$L172addu $16,$16,$23.set macro.set reorder$L170:.set noreorder.set nomacrojal av_freelw $4,48($sp).set macro.set reorderlw $7,52($18)bne $7,$0,$L192lw $5,64($18)lw $9,72($18)$L191:slt $2,$5,$9bne $2,$0,$L230.set noreorder.set nomacroj $L256lw $4,68($18).set macro.set reorder$L194:lbu $2,0($8)lw $4,68($18)sll $2,$2,$5addiu $5,$5,8or $4,$4,$2addiu $3,$8,1slt $2,$5,$9sw $5,64($18)sw $3,56($18).set noreorder.set nomacrobeq $2,$0,$L200sw $4,68($18).set macro.set reorder$L230:lw $8,56($18)lw $2,60($18)sltu $2,$8,$2bne $2,$0,$L194bne $7,$0,$L194.set noreorder.set nomacrojal get_bytelw $4,48($18).set macro.set reorderaddu $3,$21,$2move $6,$2move $8,$21move $5,$21li $7,1 # 0x1sw $3,60($18).set noreorder.set nomacroblez $2,$L198sw $21,56($18).set macro.set reorder.set noreorder.set nomacrojal get_bufferlw $4,48($18).set macro.set reorderlw $8,56($18)lw $5,64($18)lbu $2,0($8)lw $4,68($18)lw $9,72($18)sll $2,$2,$5addiu $5,$5,8or $4,$4,$2addiu $3,$8,1slt $2,$5,$9lw $7,52($18)sw $5,64($18)sw $3,56($18).set noreorder.set nomacrobne $2,$0,$L230sw $4,68($18).set macro.set reorder$L200:srl $4,$4,$9$L258:subu $5,$5,$9sw $4,68($18).set noreorder.set nomacrobeq $7,$0,$L191sw $5,64($18).set macro.set reorder$L192:lw $2,0($18)lw $3,4($18)sll $5,$2,1addu $5,$5,$2mul $5,$5,$3.set noreorder.set nomacrojal av_new_packetlw $4,100($sp).set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L224li $6,-5 # 0xfffffffffffffffb.set macro.set reorderlw $2,100($sp)lw $7,24($18)sw $0,24($2)lw $3,0($18)lw $4,4($18)sll $2,$3,1addu $2,$2,$3mul $6,$2,$4lw $2,100($sp)lw $4,16($2)sltu $2,$6,32.set noreorder.set nomacrobne $2,$0,$L212andi $2,$4,0x3.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L212andi $2,$7,0x3.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L212li $2,-32 # 0xffffffffffffffe0.set macro.set reorderaddiu $5,$4,-4and $2,$6,$2addu $8,$5,$2sltu $3,$5,$8.set noreorder.set nomacrobeq $3,$0,$L216addiu $4,$7,-4.set macro.set reorder$L231:#APP.word 0b01110000100000000000010001010100 #S32LDI XR1,$4,4.word 0b01110000100000000000010010010100 #S32LDI XR2,$4,4.word 0b01110000100000000000010011010100 #S32LDI XR3,$4,4.word 0b01110000100000000000010100010100 #S32LDI XR4,$4,4.word 0b01110000100000000000010101010100 #S32LDI XR5,$4,4.word 0b01110000100000000000010110010100 #S32LDI XR6,$4,4.word 0b01110000100000000000010111010100 #S32LDI XR7,$4,4.word 0b01110000100000000000011000010100 #S32LDI XR8,$4,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4.word 0b01110000101000000000010010010101 #S32SDI XR2,$5,4.word 0b01110000101000000000010011010101 #S32SDI XR3,$5,4.word 0b01110000101000000000010100010101 #S32SDI XR4,$5,4.word 0b01110000101000000000010101010101 #S32SDI XR5,$5,4.word 0b01110000101000000000010110010101 #S32SDI XR6,$5,4.word 0b01110000101000000000010111010101 #S32SDI XR7,$5,4.word 0b01110000101000000000011000010101 #S32SDI XR8,$5,4#NO_APPsltu $2,$5,$8bne $2,$0,$L231$L216:andi $2,$6,0x1caddu $7,$8,$2sltu $3,$5,$7beq $3,$0,$L218$L232:#APP.word 0b01110000100000000000010001010100 #S32LDI XR1,$4,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4#NO_APPsltu $2,$5,$7bne $2,$0,$L232$L218:andi $6,$6,0x3li $2,2 # 0x2.set noreorder.set nomacrobeq $6,$2,$L222li $2,3 # 0x3.set macro.set reorder.set noreorder.set nomacrobeq $6,$2,$L223li $2,1 # 0x1.set macro.set reorderbne $6,$2,$L248lbu $2,4($4)move $6,$0.set noreorder.set nomacroj $L224sb $2,4($5).set macro.set reorder$L150:lw $19,48($18).set noreorder.set nomacrojal get_bytemove $4,$19.set macro.set reordermove $4,$19.set noreorder.set nomacrojal get_bytemove $16,$2.set macro.set reordermove $17,$2li $2,249 # 0xf9.set noreorder.set nomacrobeq $16,$2,$L254li $2,4 # 0x4.set macro.set reorder$L247:beq $17,$0,$L245$L255:blez $17,$L210move $16,$0addiu $16,$16,1$L261:.set noreorder.set nomacrojal get_bytemove $4,$19.set macro.set reorder.set noreorder.set nomacrobne $16,$17,$L261addiu $16,$16,1.set macro.set reorderaddiu $16,$16,-1$L210:.set noreorder.set nomacrojal get_bytemove $4,$19.set macro.set reordermove $17,$2beq $17,$0,$L245j $L255$L254:bne $17,$2,$L247li $17,-1 # 0xffffffffffffffffsw $17,16($18).set noreorder.set nomacrojal get_bytemove $4,$19.set macro.set reordermove $4,$19.set noreorder.set nomacrojal get_le16move $16,$2.set macro.set reordersw $2,44($18).set noreorder.set nomacrojal get_bytemove $4,$19.set macro.set reordersra $3,$16,2andi $16,$16,0x1movz $2,$17,$16andi $3,$3,0x7sw $2,16($18)sw $3,40($18).set noreorder.set nomacrojal get_bytemove $4,$19.set macro.set reordermove $17,$2beq $17,$0,$L245j $L255$L251:lw $5,48($sp).set noreorder.set nomacrojal GLZWDecodemove $6,$19.set macro.set reorder.set noreorder.set nomacroblez $19,$L175move $5,$16.set macro.set reorderlw $6,48($sp)move $7,$0$L177:lbu $3,0($6)addiu $7,$7,1sll $2,$3,1addu $2,$2,$3addu $2,$22,$2lbu $4,0($2)addiu $6,$6,1sb $4,0($5)lbu $3,1($2)sb $3,1($5)lbu $4,2($2)sb $4,2($5).set noreorder.set nomacrobne $19,$7,$L177addiu $5,$5,3.set macro.set reorder.set noreorder.set nomacroj $L257lw $4,44($sp).set macro.set reorder$L181:lw $3,28($sp)addiu $20,$20,4slt $2,$20,$3.set noreorder.set nomacrobeq $2,$0,$L189lw $2,24($sp).set macro.set reorderlw $4,36($sp).set noreorder.set nomacroj $L185addu $16,$16,$4.set macro.set reorder$L183:lw $16,20($sp)li $20,4 # 0x4movz $16,$2,$fp.set noreorder.set nomacroj $L185addiu $fp,$fp,1.set macro.set reorder$L198:lw $5,64($18)lw $9,72($18).set noreorder.set nomacroj $L194sw $7,52($18).set macro.set reorder$L182:lw $3,40($sp)addiu $20,$20,2.set noreorder.set nomacroj $L185addu $16,$16,$3.set macro.set reorder$L256:.set noreorder.set nomacroj $L258srl $4,$4,$9.set macro.set reorder$L250:andi $2,$3,0x7addiu $17,$2,1addiu $22,$18,17268li $6,3 # 0x3sll $6,$6,$17move $4,$16.set noreorder.set nomacrojal get_buffermove $5,$22.set macro.set reorder.set noreorder.set nomacroj $L259lw $3,0($18).set macro.set reorder$L189:li $fp,3 # 0x3addu $16,$2,$23.set noreorder.set nomacroj $L185li $20,1 # 0x1.set macro.set reorder$L212:.set noreorder.set nomacrojal memcpymove $5,$7.set macro.set reorder$L248:.set noreorder.set nomacroj $L224move $6,$0.set macro.set reorder$L157:sll $7,$2,$17blez $7,$L161lw $9,32($18)move $5,$22move $8,$0li $10,-16777216 # 0xffffffffff000000move $6,$9$L163:lbu $2,0($5)lbu $3,1($5)lbu $4,2($5)sll $2,$2,16sll $3,$3,8or $2,$2,$4or $3,$3,$10or $2,$2,$3addiu $8,$8,1sw $2,0($6)addiu $5,$5,3.set noreorder.set nomacrobne $7,$8,$L163addiu $6,$6,4.set macro.set reorderslt $2,$7,256beq $2,$0,$L166$L165:sll $5,$7,2$L167:addiu $7,$7,1addu $2,$9,$5li $3,-16777216 # 0xffffffffff000000slt $4,$7,256sw $3,0($2).set noreorder.set nomacrobne $4,$0,$L167addiu $5,$5,4.set macro.set reorder$L166:lw $2,16($18).set noreorder.set nomacrobltz $2,$L246sll $2,$2,2.set macro.set reorderaddu $2,$2,$9sw $0,0($2)$L246:.set noreorder.set nomacroj $L160sw $0,48($sp).set macro.set reorder$L161:lw $9,32($18).set noreorder.set nomacroj $L165move $7,$0.set macro.set reorder$L222:lbu $3,4($4)move $6,$0sb $3,4($5)lbu $2,5($4).set noreorder.set nomacroj $L224sb $2,5($5).set macro.set reorder$L223:lbu $2,4($4)move $6,$0sb $2,4($5)lbu $3,5($4)sb $3,5($5)lbu $2,6($4).set noreorder.set nomacroj $L224sb $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 + -
显示快捷键?