smacker.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 1,474 行 · 第 1/2 页
S
1,474 行
.set nomacrojal url_fseeksw $0,16($sp).set macro.set reorderlw $5,112($20)lw $4,104($20)lw $3,108($20)sll $2,$5,2addu $2,$2,$4addu $3,$3,$5lw $6,0($2)lbu $fp,0($3)move $4,$19li $2,-4 # 0xfffffffffffffffc.set noreorder.set nomacrojal url_ftelland $23,$6,$2.set macro.set reorderandi $4,$fp,0x1bne $4,$0,$L98sw $0,792($sp)$L100:li $2,-1 # 0xffffffffffffffffsw $2,1012($20)sra $18,$fp,1move $21,$0andi $2,$18,0x1$L165:move $4,$19.set noreorder.set nomacrobne $2,$0,$L161sra $18,$18,1.set macro.set reorder$L119:addiu $21,$21,4li $2,28 # 0x1c.set noreorder.set nomacrobne $21,$2,$L165andi $2,$18,0x1.set macro.set reordermove $4,$22.set noreorder.set nomacrojal av_new_packetaddiu $5,$23,768.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L135li $12,-12 # 0xfffffffffffffff4.set macro.set reorderlw $2,112($20)lw $4,104($20)sll $2,$2,2addu $2,$2,$4lw $3,0($2)lw $5,792($sp)andi $3,$3,0x1ori $4,$5,0x2lw $2,16($22)movn $5,$4,$3sb $5,0($2)lw $5,16($22)addiu $4,$5,1andi $2,$4,0x3.set noreorder.set nomacrobne $2,$0,$L128addiu $3,$20,128.set macro.set reorderandi $2,$3,0x3.set noreorder.set nomacrobne $2,$0,$L128addiu $6,$5,765.set macro.set reorderaddiu $4,$5,-3sltu $2,$4,$6.set noreorder.set nomacrobeq $2,$0,$L131addiu $3,$20,124.set macro.set reorder$L133:#APP.word 0b01110000011000000000010001010100 #S32LDI XR1,$3,4.word 0b01110000011000000000010010010100 #S32LDI XR2,$3,4.word 0b01110000011000000000010011010100 #S32LDI XR3,$3,4.word 0b01110000011000000000010100010100 #S32LDI XR4,$3,4.word 0b01110000011000000000010101010100 #S32LDI XR5,$3,4.word 0b01110000011000000000010110010100 #S32LDI XR6,$3,4.word 0b01110000011000000000010111010100 #S32LDI XR7,$3,4.word 0b01110000011000000000011000010100 #S32LDI XR8,$3,4.word 0b01110000100000000000010001010101 #S32SDI XR1,$4,4.word 0b01110000100000000000010010010101 #S32SDI XR2,$4,4.word 0b01110000100000000000010011010101 #S32SDI XR3,$4,4.word 0b01110000100000000000010100010101 #S32SDI XR4,$4,4.word 0b01110000100000000000010101010101 #S32SDI XR5,$4,4.word 0b01110000100000000000010110010101 #S32SDI XR6,$4,4.word 0b01110000100000000000010111010101 #S32SDI XR7,$4,4.word 0b01110000100000000000011000010101 #S32SDI XR8,$4,4#NO_APPsltu $2,$4,$6bne $2,$0,$L133lw $5,16($22)$L131:addiu $5,$5,769move $4,$19.set noreorder.set nomacrojal get_buffermove $6,$23.set macro.set reorder.set noreorder.set nomacrobne $23,$2,$L93addiu $2,$23,769.set macro.set reorderlw $3,924($20)sw $2,20($22)sw $3,24($22)lw $2,112($20)move $4,$19addiu $2,$2,1.set noreorder.set nomacrojal url_ftellsw $2,112($20).set macro.set reordermove $12,$0sw $2,1016($20).set noreorder.set nomacroj $L135sw $3,1020($20).set macro.set reorder$L98:addiu $18,$20,128andi $2,$18,0x3.set noreorder.set nomacrobne $2,$0,$L101addiu $4,$sp,24.set macro.set reorderaddiu $4,$sp,20addiu $5,$sp,788sltu $2,$4,$5.set noreorder.set nomacrobeq $2,$0,$L104addiu $3,$20,124.set macro.set reorder$L106:#APP.word 0b01110000011000000000010001010100 #S32LDI XR1,$3,4.word 0b01110000011000000000010010010100 #S32LDI XR2,$3,4.word 0b01110000011000000000010011010100 #S32LDI XR3,$3,4.word 0b01110000011000000000010100010100 #S32LDI XR4,$3,4.word 0b01110000011000000000010101010100 #S32LDI XR5,$3,4.word 0b01110000011000000000010110010100 #S32LDI XR6,$3,4.word 0b01110000011000000000010111010100 #S32LDI XR7,$3,4.word 0b01110000011000000000011000010100 #S32LDI XR8,$3,4.word 0b01110000100000000000010001010101 #S32SDI XR1,$4,4.word 0b01110000100000000000010010010101 #S32SDI XR2,$4,4.word 0b01110000100000000000010011010101 #S32SDI XR3,$4,4.word 0b01110000100000000000010100010101 #S32SDI XR4,$4,4.word 0b01110000100000000000010101010101 #S32SDI XR5,$4,4.word 0b01110000100000000000010110010101 #S32SDI XR6,$4,4.word 0b01110000100000000000010111010101 #S32SDI XR7,$4,4.word 0b01110000100000000000011000010101 #S32SDI XR8,$4,4#NO_APPsltu $2,$4,$5bne $2,$0,$L106$L104:.set noreorder.set nomacrojal get_bytemove $4,$19.set macro.set reordersll $16,$2,2.set noreorder.set nomacrojal url_ftellmove $4,$19.set macro.set reordersubu $23,$23,$16addiu $16,$16,-1addu $16,$16,$2lui $2,%hi(smk_pal)sw $16,796($sp)addiu $21,$2,%lo(smk_pal).set noreorder.set nomacroj $L107move $16,$0.set macro.set reorder$L163:sll $3,$2,1addu $3,$3,$2addu $3,$3,$18addiu $4,$16,1addu $16,$2,$4addiu $18,$3,3$L110:slt $2,$16,256.set noreorder.set nomacrobeq $2,$0,$L166lw $6,796($sp).set macro.set reorder$L107:.set noreorder.set nomacrojal get_bytemove $4,$19.set macro.set reordermove $17,$2andi $2,$2,0x80.set noreorder.set nomacrobne $2,$0,$L163andi $2,$17,0x7f.set macro.set reorderandi $2,$17,0x40.set noreorder.set nomacrobeq $2,$0,$L111addu $2,$17,$21.set macro.set reorder.set noreorder.set nomacrojal get_bytemove $4,$19.set macro.set reordermove $3,$2andi $5,$17,0x3fli $2,-1 # 0xffffffffffffffff.set noreorder.set nomacrobeq $5,$2,$L110slt $2,$16,256.set macro.set reorder.set noreorder.set nomacrobeq $2,$0,$L114sll $2,$3,1.set macro.set reorderaddu $2,$2,$3addiu $3,$sp,24addu $4,$3,$2li $7,-1 # 0xffffffffffffffffli $6,256 # 0x100$L116:lbu $2,0($4)addiu $5,$5,-1sb $2,0($18)lbu $3,1($4)addiu $16,$16,1sb $3,1($18)lbu $2,2($4)addiu $4,$4,3sb $2,2($18).set noreorder.set nomacrobeq $5,$7,$L110addiu $18,$18,3.set macro.set reorderbne $16,$6,$L116$L114:lw $6,796($sp)$L166:move $4,$19sra $7,$6,31.set noreorder.set nomacrojal url_fseeksw $0,16($sp).set macro.set reorderli $2,1 # 0x1.set noreorder.set nomacroj $L100sw $2,792($sp).set macro.set reorder$L111:lbu $3,0($2)move $4,$19.set noreorder.set nomacrojal get_bytesb $3,0($18).set macro.set reorderandi $2,$2,0x3faddu $2,$2,$21lbu $3,0($2)move $4,$19.set noreorder.set nomacrojal get_bytesb $3,1($18).set macro.set reorderandi $2,$2,0x3faddu $2,$2,$21lbu $3,0($2)addiu $16,$16,1sb $3,2($18).set noreorder.set nomacroj $L110addiu $18,$18,3.set macro.set reorder$L101:move $5,$18.set noreorder.set nomacrojal memcpyli $6,768 # 0x300.set macro.set reorderj $L104$L96:sll $2,$2,2addu $2,$2,$20lw $5,956($2).set noreorder.set nomacrojal av_new_packetmove $4,$22.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L135li $12,-12 # 0xfffffffffffffff4.set macro.set reorderlw $2,1012($20)lw $4,16($22)sll $2,$2,2addu $2,$2,$20lw $6,956($2)sltu $3,$6,32.set noreorder.set nomacrobne $3,$0,$L137lw $5,928($2).set macro.set reorderandi $2,$4,0x3bne $2,$0,$L137andi $2,$5,0x3bne $2,$0,$L137li $2,-32 # 0xffffffffffffffe0addiu $4,$4,-4and $2,$6,$2addu $7,$4,$2sltu $3,$4,$7.set noreorder.set nomacrobeq $3,$0,$L141addiu $5,$5,-4.set macro.set reorder$L150:#APP.word 0b01110000101000000000010001010100 #S32LDI XR1,$5,4.word 0b01110000101000000000010010010100 #S32LDI XR2,$5,4.word 0b01110000101000000000010011010100 #S32LDI XR3,$5,4.word 0b01110000101000000000010100010100 #S32LDI XR4,$5,4.word 0b01110000101000000000010101010100 #S32LDI XR5,$5,4.word 0b01110000101000000000010110010100 #S32LDI XR6,$5,4.word 0b01110000101000000000010111010100 #S32LDI XR7,$5,4.word 0b01110000101000000000011000010100 #S32LDI XR8,$5,4.word 0b01110000100000000000010001010101 #S32SDI XR1,$4,4.word 0b01110000100000000000010010010101 #S32SDI XR2,$4,4.word 0b01110000100000000000010011010101 #S32SDI XR3,$4,4.word 0b01110000100000000000010100010101 #S32SDI XR4,$4,4.word 0b01110000100000000000010101010101 #S32SDI XR5,$4,4.word 0b01110000100000000000010110010101 #S32SDI XR6,$4,4.word 0b01110000100000000000010111010101 #S32SDI XR7,$4,4.word 0b01110000100000000000011000010101 #S32SDI XR8,$4,4#NO_APPsltu $2,$4,$7bne $2,$0,$L150$L141:andi $2,$6,0x1caddu $7,$7,$2sltu $3,$4,$7.set noreorder.set nomacrobeq $3,$0,$L167andi $3,$6,0x3.set macro.set reorder$L151:#APP.word 0b01110000101000000000010001010100 #S32LDI XR1,$5,4.word 0b01110000100000000000010001010101 #S32SDI XR1,$4,4#NO_APPsltu $2,$4,$7.set noreorder.set nomacrobne $2,$0,$L151andi $3,$6,0x3.set macro.set reorder$L167:li $2,2 # 0x2.set noreorder.set nomacrobeq $3,$2,$L147li $2,3 # 0x3.set macro.set reorder.set noreorder.set nomacrobeq $3,$2,$L148li $2,1 # 0x1.set macro.set reorderbne $3,$2,$L145lbu $2,4($5)sb $2,4($4)$L145:lw $2,1012($20)$L164:lw $6,16($22)sll $2,$2,2addu $2,$2,$20lw $3,956($2)move $12,$0sw $3,20($22)lw $2,1012($20)sll $2,$2,2addu $2,$2,$20lw $3,984($2)sw $3,24($22)lw $11,1012($20)sll $10,$11,3addu $10,$10,$20lw $2,1024($10)lw $3,1028($10)sw $2,0($22)sw $3,4($22)lbu $4,3($6)lbu $5,2($6)lbu $7,0($6)lbu $2,1($6)sll $4,$4,24sll $5,$5,16or $4,$4,$5or $4,$4,$7lw $6,1024($10)sll $2,$2,8or $2,$2,$4lw $7,1028($10)addu $8,$6,$2sra $3,$2,31sltu $4,$8,$6addu $9,$7,$3addiu $11,$11,-1addu $9,$4,$9sw $8,1024($10)sw $9,1028($10).set noreorder.set nomacroj $L135sw $11,1012($20).set macro.set reorder$L161:jal get_le32lw $3,1012($20)addiu $17,$2,-4addiu $3,$3,1sll $16,$3,2addu $16,$16,$20lw $4,928($16)sw $3,1012($20).set noreorder.set nomacrojal av_reallocmove $5,$17.set macro.set reorderlw $3,1012($20)sw $2,928($16)sll $3,$3,2addu $3,$3,$20lw $5,928($3)sw $17,956($3)move $4,$19.set noreorder.set nomacrojal get_buffermove $6,$17.set macro.set reorderaddu $3,$20,$21.set noreorder.set nomacrobne $17,$2,$L93subu $5,$23,$17.set macro.set reorderlw $2,1012($20)lw $3,896($3)sll $2,$2,2addu $2,$2,$20addiu $23,$5,-4.set noreorder.set nomacroj $L119sw $3,984($2).set macro.set reorder$L137:jal memcpy.set noreorder.set nomacroj $L164lw $2,1012($20).set macro.set reorder$L128:move $5,$3.set noreorder.set nomacrojal memcpyli $6,768 # 0x300.set macro.set reorder.set noreorder.set nomacroj $L131lw $5,16($22).set macro.set reorder$L147:lbu $2,4($5)sb $2,4($4)lbu $3,5($5).set noreorder.set nomacroj $L145sb $3,5($4).set macro.set reorder$L148:lbu $2,4($5)sb $2,4($4)lbu $3,5($5)sb $3,5($4)lbu $2,6($5).set noreorder.set nomacroj $L145sb $2,6($4).set macro.set reorder.end smacker_read_packet.globl smacker_demuxer.section .rodata.str1.4.align 2$LC3:.ascii "smk\000".align 2$LC4:.ascii "Smacker Video\000".data.align 2.type smacker_demuxer, @object.size smacker_demuxer, 64smacker_demuxer:.word $LC3.word $LC4.word 1080.word smacker_probe.word smacker_read_header.word smacker_read_packet.word smacker_read_close.space 36.rdata.align 2.type smk_pal, @object.size smk_pal, 64smk_pal:.byte 0.byte 4.byte 8.byte 12.byte 16.byte 20.byte 24.byte 28.byte 32.byte 36.byte 40.byte 44.byte 48.byte 52.byte 56.byte 60.byte 65.byte 69.byte 73.byte 77.byte 81.byte 85.byte 89.byte 93.byte 97.byte 101.byte 105.byte 109.byte 113.byte 117.byte 121.byte 125.byte -126.byte -122.byte -118.byte -114.byte -110.byte -106.byte -102.byte -98.byte -94.byte -90.byte -86.byte -82.byte -78.byte -74.byte -70.byte -66.byte -61.byte -57.byte -53.byte -49.byte -45.byte -41.byte -37.byte -33.byte -29.byte -25.byte -21.byte -17.byte -13.byte -9.byte -5.byte -1.ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?