smacker.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 4,395 行 · 第 1/4 页
S
4,395 行
.file 1 "smacker.c".section .mdebug.abi32.previous.section .text.smka_decode_init,"ax",@progbits.align 2.align 5.ent smka_decode_init.type smka_decode_init, @functionsmka_decode_init:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacroj $31move $2,$0.set macro.set reorder.end smka_decode_init.section .rodata.str1.4,"aMS",@progbits,1.align 2$LC0:.ascii "Tree size exceeded!\012\000".section .text.smacker_decode_bigtree,"ax",@progbits.align 2.align 5.ent smacker_decode_bigtree.type smacker_decode_bigtree, @functionsmacker_decode_bigtree:.frame $sp,40,$31 # vars= 0, regs= 6/0, args= 16, gp= 0.mask 0x801f0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-40sw $19,28($sp)sw $18,24($sp)sw $17,20($sp)sw $31,36($sp)sw $20,32($sp)sw $16,16($sp)lw $7,8($4)lw $8,0($4)sra $2,$7,3addu $2,$2,$8move $17,$4lbu $4,0($2)andi $3,$7,0x7sra $4,$4,$3addiu $7,$7,1andi $4,$4,0x1move $18,$5move $19,$6beq $4,$0,$L27sw $7,8($17)j $L23move $20,$0$L28:lw $2,20($18)lw $8,0($17)addu $2,$16,$2sw $3,0($2)lw $5,8($17)addu $20,$20,$6sra $2,$5,3addu $2,$8,$2lbu $3,0($2)andi $4,$5,0x7sra $3,$3,$4addiu $7,$5,1andi $3,$3,0x1beq $3,$0,$L7sw $7,8($17)$L23:lw $16,8($18)move $4,$17addiu $2,$16,1move $6,$19sw $2,8($18)jal smacker_decode_bigtreemove $5,$18move $4,$2li $2,-2147483648 # 0xffffffff80000000sll $16,$16,2or $3,$4,$2bgez $4,$L28addiu $6,$4,1addu $2,$4,$20lw $31,36($sp)lw $20,32($sp)lw $19,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,40$L27:move $20,$0$L7:lw $2,8($18)lw $3,0($18)slt $2,$2,$3beq $2,$0,$L29sra $4,$7,3addu $4,$8,$4lbu $3,3($4)lbu $5,2($4)lbu $6,0($4)lbu $2,1($4)sll $3,$3,24sll $5,$5,16or $3,$3,$5or $3,$3,$6sll $2,$2,8or $2,$2,$3lw $4,0($19)andi $3,$7,0x7sra $2,$2,$3lw $10,4($4)andi $2,$2,0x1ffsll $2,$2,2addu $2,$10,$2lh $9,2($2)bltz $9,$L30lh $12,0($2)$L11:addu $9,$7,$9sra $4,$9,3addu $4,$8,$4sw $9,8($17)lbu $3,3($4)lbu $5,2($4)lbu $6,0($4)lbu $2,1($4)sll $3,$3,24sll $5,$5,16or $3,$3,$5or $3,$3,$6sll $2,$2,8or $2,$2,$3lw $4,4($19)andi $3,$9,0x7sra $2,$2,$3lw $11,4($4)andi $2,$2,0x1ffsll $2,$2,2addu $2,$11,$2lh $7,2($2)bltz $7,$L31lh $10,0($2)$L14:lw $3,12($19)addu $2,$9,$7lw $5,8($19)sll $4,$10,2sw $2,8($17)addu $4,$4,$3sll $2,$12,2addu $2,$2,$5lw $3,0($4)lw $5,0($2)sll $3,$3,8lw $2,16($19)or $5,$3,$5beq $5,$2,$L32noplw $2,20($19)beq $5,$2,$L33noplw $2,24($19)beq $5,$2,$L34nop$L19:lw $2,8($18)lw $4,20($18)sll $3,$2,2addu $3,$3,$4addiu $2,$2,1sw $5,0($3)li $4,1 # 0x1sw $2,8($18)lw $31,36($sp)addu $2,$4,$20lw $19,28($sp)lw $20,32($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,40$L29:lui $6,%hi($LC0)move $4,$0addiu $6,$6,%lo($LC0)jal av_logmove $5,$0li $4,-1 # 0xffffffffffffffffaddu $2,$4,$20lw $31,36($sp)lw $20,32($sp)lw $19,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,40$L33:lw $3,28($19)lw $2,8($18)move $5,$0j $L19sw $2,4($3)$L32:lw $3,28($19)lw $2,8($18)move $5,$0j $L19sw $2,0($3)$L31:addiu $9,$9,9sra $4,$9,3addu $4,$8,$4lbu $2,3($4)lbu $5,2($4)lbu $6,0($4)lbu $3,1($4)sll $2,$2,24sll $5,$5,16or $2,$2,$5or $2,$2,$6sll $3,$3,8or $3,$3,$2li $13,-1 # 0xffffffffffffffffandi $4,$9,0x7sra $3,$3,$4srl $2,$13,$7and $2,$2,$3addu $2,$2,$10sll $2,$2,2addu $2,$11,$2subu $3,$0,$7lh $7,2($2)bgez $7,$L14lh $10,0($2)addu $9,$9,$3sra $4,$9,3addu $4,$8,$4lbu $2,3($4)lbu $5,2($4)lbu $6,0($4)lbu $3,1($4)sll $2,$2,24sll $5,$5,16or $2,$2,$5or $2,$2,$6sll $3,$3,8or $3,$3,$2andi $4,$9,0x7srl $2,$13,$7sra $3,$3,$4and $2,$2,$3addu $2,$2,$10sll $2,$2,2addu $2,$11,$2lh $7,2($2)j $L14lh $10,0($2)$L30:addiu $7,$7,9sra $4,$7,3addu $4,$8,$4lbu $2,3($4)lbu $5,2($4)lbu $6,0($4)lbu $3,1($4)sll $2,$2,24sll $5,$5,16or $2,$2,$5or $2,$2,$6sll $3,$3,8or $3,$3,$2li $11,-1 # 0xffffffffffffffffandi $4,$7,0x7sra $3,$3,$4srl $2,$11,$9and $2,$2,$3addu $2,$2,$12sll $2,$2,2addu $2,$10,$2subu $3,$0,$9lh $9,2($2)bgez $9,$L11lh $12,0($2)addu $7,$7,$3sra $4,$7,3addu $4,$8,$4lbu $2,3($4)lbu $5,2($4)lbu $6,0($4)lbu $3,1($4)sll $2,$2,24sll $5,$5,16or $2,$2,$5or $2,$2,$6sll $3,$3,8or $3,$3,$2andi $4,$7,0x7srl $2,$11,$9sra $3,$3,$4and $2,$2,$3addu $2,$2,$12sll $2,$2,2addu $2,$10,$2lh $9,2($2)j $L11lh $12,0($2)$L34:lw $3,28($19)lw $2,8($18)move $5,$0j $L19sw $2,8($3).set macro.set reorder.end smacker_decode_bigtree.section .text.decode_end,"ax",@progbits.align 2.align 5.ent decode_end.type decode_end, @functiondecode_end:.frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0.mask 0x80030000,-8.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-32sw $31,24($sp)sw $17,20($sp)sw $16,16($sp)lw $16,136($4)move $17,$4jal av_freepaddiu $4,$16,208jal av_freepaddiu $4,$16,212jal av_freepaddiu $4,$16,216jal av_freepaddiu $4,$16,220lw $2,8($16)move $4,$17beq $2,$0,$L36addiu $5,$16,8lw $2,264($17)jal $2nop$L36:lw $31,24($sp)lw $17,20($sp)lw $16,16($sp)move $2,$0j $31addiu $sp,$sp,32.set macro.set reorder.end decode_end.section .rodata.str1.4.align 2$LC1:.ascii "get_buffer() failed\012\000".section .text.decode_frame,"ax",@progbits.align 2.align 5.ent decode_frame.type decode_frame, @functiondecode_frame:.frame $sp,104,$31 # vars= 48, regs= 10/0, args= 16, gp= 0.mask 0xc0ff0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-104lw $3,120($sp)sw $18,72($sp)sw $31,100($sp)sw $fp,96($sp)sw $23,92($sp)sw $22,88($sp)sw $21,84($sp)sw $20,80($sp)sw $19,76($sp)sw $17,68($sp)sw $16,64($sp)sw $5,108($sp)li $2,769 # 0x301sw $4,104($sp)sw $6,112($sp)move $18,$7beq $3,$2,$L252lw $16,136($4)lw $2,8($16)beq $2,$0,$L221lw $10,104($sp)addiu $6,$16,8lw $2,264($10)move $5,$6jal $2sw $6,52($sp)lw $5,52($sp)$L43:lw $3,104($sp)li $17,1 # 0x1lw $2,592($3)lw $4,104($sp)li $3,13 # 0xdsw $3,188($16)jal $2sw $17,88($16)bltz $2,$L253lw $4,104($sp)lbu $3,0($18)lw $4,12($16)andi $3,$3,0x1sw $3,184($16)lbu $2,0($18)srl $2,$2,1andi $2,$2,0x1beq $2,$0,$L47sw $2,56($16)sw $17,60($16)$L49:move $6,$4addiu $5,$18,1addiu $7,$4,1024$L50:lbu $2,0($5)lbu $4,1($5)lbu $3,2($5)sll $2,$2,16sll $4,$4,8or $2,$2,$4or $3,$3,$2sw $3,0($6)addiu $6,$6,4bne $6,$7,$L50addiu $5,$5,3lw $4,224($16)lw $5,228($16)lw $2,232($16)lw $3,208($16)sll $5,$5,2sll $4,$4,2sll $2,$2,2addu $2,$2,$3addu $4,$3,$4addu $3,$3,$5sw $0,0($2)sw $0,0($3)sw $0,0($4)lw $5,236($16)lw $4,240($16)lw $2,244($16)lw $3,212($16)sll $4,$4,2sll $5,$5,2sll $2,$2,2addu $2,$2,$3addu $5,$3,$5addu $3,$3,$4sw $0,0($2)sw $0,0($3)sw $0,0($5)lw $4,248($16)lw $5,252($16)lw $2,256($16)lw $3,216($16)sll $5,$5,2sll $4,$4,2sll $2,$2,2addu $2,$2,$3addu $4,$3,$4addu $3,$3,$5sw $0,0($2)sw $0,0($3)sw $0,0($4)lw $2,268($16)lw $3,264($16)lw $9,220($16)lw $5,260($16)sll $2,$2,2lw $6,120($sp)addu $2,$2,$9sll $3,$3,2sw $0,0($2)addu $3,$9,$3addiu $10,$16,224addiu $2,$16,228sll $5,$5,2sw $0,0($3)sll $4,$6,3sw $10,40($sp)sw $2,44($sp)addiu $3,$16,232addiu $10,$16,236addiu $2,$16,240addu $5,$9,$5sw $3,48($sp)sw $10,28($sp)addiu $6,$4,-6145sw $0,0($5)addiu $3,$16,244sw $2,32($sp)addiu $10,$16,264addiu $2,$16,268sw $3,36($sp)addiu $14,$16,248addiu $17,$16,252addiu $21,$16,256addiu $fp,$16,260sw $10,20($sp)sw $2,24($sp)bltz $6,$L52addiu $4,$4,-6152bltz $4,$L55move $7,$0addiu $7,$18,769$L55:lw $4,104($sp)lw $3,40($4)lw $2,44($4)sra $18,$3,2sra $2,$2,2mul $23,$18,$2blez $23,$L56lw $24,24($16)sw $0,16($sp)move $25,$0li $10,1 # 0x1$L58:lw $8,0($9)bgez $8,$L59move $6,$25move $5,$9sra $2,$6,3$L261:addu $2,$7,$2lbu $3,0($2)andi $4,$6,0x7sra $3,$3,$4andi $3,$3,0x1beq $3,$0,$L62addiu $6,$6,1lw $2,0($5)sll $2,$2,2addu $5,$5,$2$L62:addiu $5,$5,4lw $8,0($5)bltz $8,$L261sra $2,$6,3move $25,$6$L59:lw $2,0($fp)sll $2,$2,2addu $2,$2,$9lw $3,0($2)beq $3,$8,$L65lw $3,20($sp)lw $4,24($sp)lw $2,0($3)lw $3,0($4)sll $2,$2,2addu $2,$2,$9lw $4,0($2)sll $3,$3,2addu $3,$3,$9sw $4,0($3)lw $2,0($fp)lw $6,20($sp)sll $2,$2,2lw $3,0($6)addu $2,$2,$9lw $4,0($2)sll $3,$3,2addu $3,$3,$9sw $4,0($3)lw $2,0($fp)sll $2,$2,2addu $2,$2,$9sw $8,0($2)$L65:lui $4,%hi(block_runs)addiu $3,$4,%lo(block_runs)andi $2,$8,0xfcaddu $2,$2,$3andi $4,$8,0x3li $3,1 # 0x1beq $4,$3,$L69lw $5,0($2)slt $2,$4,2bne $2,$0,$L254li $2,2 # 0x2beq $4,$2,$L70li $2,3 # 0x3beq $4,$2,$L255nop$L67:beq $10,$0,$L260lw $6,112($sp)j $L58lw $9,220($16)$L47:li $2,2 # 0x2j $L49sw $2,60($16)$L255:beq $5,$0,$L67nopbeq $10,$0,$L56sra $2,$8,8sll $3,$2,8addu $3,$3,$2lw $6,16($sp)sll $2,$3,16lw $8,8($16)addu $9,$3,$2addu $20,$5,$6j $L216move $10,$23$L256:beq $6,$10,$L56nop$L216:div $0,$6,$18teq $18,$0,7addiu $6,$6,1mflo $2mfhi $3mul $4,$24,$2addu $2,$4,$3sll $2,$2,2addu $2,$2,$8addu $3,$2,$24addu $4,$3,$24addu $5,$24,$4sw $9,0($2)sw $9,0($3)sw $9,0($4)bne $6,$20,$L256sw $9,0($5)slt $10,$6,$23j $L67sw $6,16($sp)$L254:bne $4,$0,$L67nopbeq $5,$0,$L67nopbeq $10,$0,$L260lw $6,112($sp)lw $11,16($sp)move $12,$23addu $20,$5,$11$L77:lw $8,212($16)lw $9,0($8)bgez $9,$L78move $6,$25move $5,$8sra $2,$6,3$L262:addu $2,$7,$2lbu $3,0($2)andi $4,$6,0x7sra $3,$3,$4andi $3,$3,0x1beq $3,$0,$L81addiu $6,$6,1lw $2,0($5)sll $2,$2,2addu $5,$5,$2$L81:addiu $5,$5,4lw $9,0($5)bltz $9,$L262sra $2,$6,3move $25,$6$L78:lw $6,28($sp)lw $2,0($6)sll $2,$2,2addu $2,$2,$8lw $3,0($2)beq $3,$9,$L84lw $10,32($sp)lw $4,36($sp)lw $2,0($10)lw $3,0($4)sll $2,$2,2addu $2,$2,$8lw $4,0($2)sll $3,$3,2addu $3,$3,$8sw $4,0($3)lw $2,0($6)lw $3,0($10)sll $2,$2,2addu $2,$2,$8lw $4,0($2)sll $3,$3,2addu $3,$3,$8sw $4,0($3)lw $2,0($6)sll $2,$2,2addu $2,$2,$8sw $9,0($2)$L84:lw $10,208($16)lw $8,0($10)bgez $8,$L86move $6,$25move $5,$10sra $2,$6,3$L263:addu $2,$7,$2lbu $3,0($2)andi $4,$6,0x7sra $3,$3,$4andi $3,$3,0x1beq $3,$0,$L89addiu $6,$6,1lw $2,0($5)sll $2,$2,2addu $5,$5,$2$L89:addiu $5,$5,4lw $8,0($5)bltz $8,$L263sra $2,$6,3move $25,$6$L86:lw $6,40($sp)lw $2,0($6)sll $2,$2,2addu $2,$2,$10lw $3,0($2)beq $3,$8,$L92lw $4,48($sp)lw $3,44($sp)lw $2,0($3)lw $3,0($4)sll $2,$2,2addu $2,$2,$10lw $4,0($2)sll $3,$3,2addu $3,$3,$10sw $4,0($3)lw $2,0($6)lw $6,44($sp)sll $2,$2,2lw $3,0($6)addu $2,$2,$10lw $4,0($2)sll $3,$3,2addu $3,$3,$10sw $4,0($3)lw $3,40($sp)lw $2,0($3)sll $2,$2,2addu $2,$2,$10sw $8,0($2)$L92:div $0,$11,$18teq $18,$0,7lw $4,8($16)andi $5,$8,0x1andi $6,$9,0xffsra $9,$9,8mflo $2mfhi $3mul $10,$24,$2addu $2,$10,$3sll $2,$2,2bne $5,$0,$L94addu $3,$2,$4sb $6,0($3)$L96:andi $2,$8,0x2bne $2,$0,$L97nopsb $6,1($3)$L99:andi $2,$8,0x4bne $2,$0,$L100nopsb $6,2($3)$L102:andi $2,$8,0x8bne $2,$0,$L103nopsb $6,3($3)$L105:sra $5,$8,4andi $2,$5,0x1bne $2,$0,$L106addu $3,$24,$3sb $6,0($3)$L108:andi $2,$5,0x2bne $2,$0,$L109nopsb $6,1($3)$L111:andi $2,$5,0x4bne $2,$0,$L112nopsb $6,2($3)$L114:andi $2,$5,0x8bne $2,$0,$L115nopsb $6,3($3)$L117:sra $5,$5,4andi $2,$5,0x1bne $2,$0,$L118addu $3,$24,$3sb $6,0($3)$L120:andi $2,$5,0x2bne $2,$0,$L121nopsb $6,1($3)$L123:andi $2,$5,0x4bne $2,$0,$L124nopsb $6,2($3)$L126:andi $2,$5,0x8bne $2,$0,$L127nopsb $6,3($3)$L129:sra $5,$5,4andi $2,$5,0x1beq $2,$0,$L130addu $3,$24,$3sb $9,0($3)$L132:andi $2,$5,0x2beq $2,$0,$L133nopsb $9,1($3)$L135:andi $2,$5,0x4beq $2,$0,$L136nopsb $9,2($3)$L138:andi $2,$5,0x8beq $2,$0,$L139nopsb $9,3($3)$L141:addiu $11,$11,1beq $20,$11,$L142slt $10,$11,$23bne $11,$12,$L77nop$L56:lw $6,112($sp)$L260:li $2,200 # 0xc8$L276:sw $2,0($6)lw $7,108($sp)lw $6,52($sp)addiu $8,$16,200$L219:lw $2,0($6)lw $3,4($6)lw $4,8($6)lw $5,12($6)addiu $6,$6,16sw $2,0($7)sw $3,4($7)sw $4,8($7)sw $5,12($7)bne $6,$8,$L219addiu $7,$7,16lw $2,4($6)lw $3,0($6)sw $2,4($7)sw $3,0($7)lw $2,120($sp)$L42:lw $31,100($sp)lw $fp,96($sp)lw $23,92($sp)lw $22,88($sp)lw $21,84($sp)lw $20,80($sp)lw $19,76($sp)lw $18,72($sp)lw $17,68($sp)lw $16,64($sp)j $31addiu $sp,$sp,104$L69:lw $2,104($sp)lw $3,232($2)li $2,877330432 # 0x344b0000ori $2,$2,0x4d53beq $3,$2,$L257sra $2,$25,3$L144:move $22,$0$L148:beq $5,$0,$L67nopbeq $10,$0,$L56lw $3,16($sp)sll $4,$24,1addu $20,$5,$3move $15,$3sw $4,56($sp)$L152:div $0,$15,$18teq $18,$0,7lw $8,8($16)mflo $3mfhi $2mul $4,$24,$3addu $3,$4,$2sll $3,$3,2li $2,1 # 0x1beq $22,$2,$L155addu $11,$3,$8li $2,2 # 0x2beq $22,$2,$L156addu $13,$11,$24bne $22,$0,$L153move $10,$0$L157:lw $9,216($16)lw $8,0($9)bgez $8,$L158move $6,$25move $5,$9sra $2,$6,3$L264:addu $2,$7,$2lbu $3,0($2)andi $4,$6,0x7sra $3,$3,$4andi $3,$3,0x1beq $3,$0,$L161addiu $6,$6,1lw $2,0($5)sll $2,$2,2addu $5,$5,$2$L161:addiu $5,$5,4lw $8,0($5)bltz $8,$L264sra $2,$6,3move $25,$6$L158:lw $2,0($14)sll $2,$2,2addu $2,$2,$9lw $3,0($2)beq $3,$8,$L265andi $3,$8,0xfffflw $2,0($17)lw $3,0($21)sll $2,$2,2addu $2,$2,$9lw $4,0($2)sll $3,$3,2addu $3,$3,$9sw $4,0($3)lw $2,0($14)lw $3,0($17)sll $2,$2,2addu $2,$2,$9lw $4,0($2)sll $3,$3,2addu $3,$3,$9sw $4,0($3)lw $2,0($14)sll $2,$2,2addu $2,$2,$9sw $8,0($2)andi $3,$8,0xffff
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?