smacker.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,474 行 · 第 1/2 页
MID
1,474 行
.set nomacro jal url_fseek sw $0,16($sp) .set macro .set reorder lw $5,112($20) lw $4,104($20) lw $3,108($20) sll $2,$5,2 addu $2,$2,$4 addu $3,$3,$5 lw $6,0($2) lbu $fp,0($3) move $4,$19 li $2,-4 # 0xfffffffffffffffc .set noreorder .set nomacro jal url_ftell and $23,$6,$2 .set macro .set reorder andi $4,$fp,0x1 bne $4,$0,$L98 sw $0,792($sp)$L100: li $2,-1 # 0xffffffffffffffff sw $2,1012($20) sra $18,$fp,1 move $21,$0 andi $2,$18,0x1$L165: move $4,$19 .set noreorder .set nomacro bne $2,$0,$L161 sra $18,$18,1 .set macro .set reorder$L119: addiu $21,$21,4 li $2,28 # 0x1c .set noreorder .set nomacro bne $21,$2,$L165 andi $2,$18,0x1 .set macro .set reorder move $4,$22 .set noreorder .set nomacro jal av_new_packet addiu $5,$23,768 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L135 li $12,-12 # 0xfffffffffffffff4 .set macro .set reorder lw $2,112($20) lw $4,104($20) sll $2,$2,2 addu $2,$2,$4 lw $3,0($2) lw $5,792($sp) andi $3,$3,0x1 ori $4,$5,0x2 lw $2,16($22) movn $5,$4,$3 sb $5,0($2) lw $5,16($22) addiu $4,$5,1 andi $2,$4,0x3 .set noreorder .set nomacro bne $2,$0,$L128 addiu $3,$20,128 .set macro .set reorder andi $2,$3,0x3 .set noreorder .set nomacro bne $2,$0,$L128 addiu $6,$5,765 .set macro .set reorder addiu $4,$5,-3 sltu $2,$4,$6 .set noreorder .set nomacro beq $2,$0,$L131 addiu $3,$20,124 .set macro .set reorder$L133:#APP S32LDI xr1,$3,4 S32LDI xr2,$3,4 S32LDI xr3,$3,4 S32LDI xr4,$3,4 S32LDI xr5,$3,4 S32LDI xr6,$3,4 S32LDI xr7,$3,4 S32LDI xr8,$3,4 S32SDI xr1,$4,4 S32SDI xr2,$4,4 S32SDI xr3,$4,4 S32SDI xr4,$4,4 S32SDI xr5,$4,4 S32SDI xr6,$4,4 S32SDI xr7,$4,4 S32SDI xr8,$4,4#NO_APP sltu $2,$4,$6 bne $2,$0,$L133 lw $5,16($22)$L131: addiu $5,$5,769 move $4,$19 .set noreorder .set nomacro jal get_buffer move $6,$23 .set macro .set reorder .set noreorder .set nomacro bne $23,$2,$L93 addiu $2,$23,769 .set macro .set reorder lw $3,924($20) sw $2,20($22) sw $3,24($22) lw $2,112($20) move $4,$19 addiu $2,$2,1 .set noreorder .set nomacro jal url_ftell sw $2,112($20) .set macro .set reorder move $12,$0 sw $2,1016($20) .set noreorder .set nomacro j $L135 sw $3,1020($20) .set macro .set reorder$L98: addiu $18,$20,128 andi $2,$18,0x3 .set noreorder .set nomacro bne $2,$0,$L101 addiu $4,$sp,24 .set macro .set reorder addiu $4,$sp,20 addiu $5,$sp,788 sltu $2,$4,$5 .set noreorder .set nomacro beq $2,$0,$L104 addiu $3,$20,124 .set macro .set reorder$L106:#APP S32LDI xr1,$3,4 S32LDI xr2,$3,4 S32LDI xr3,$3,4 S32LDI xr4,$3,4 S32LDI xr5,$3,4 S32LDI xr6,$3,4 S32LDI xr7,$3,4 S32LDI xr8,$3,4 S32SDI xr1,$4,4 S32SDI xr2,$4,4 S32SDI xr3,$4,4 S32SDI xr4,$4,4 S32SDI xr5,$4,4 S32SDI xr6,$4,4 S32SDI xr7,$4,4 S32SDI xr8,$4,4#NO_APP sltu $2,$4,$5 bne $2,$0,$L106$L104: .set noreorder .set nomacro jal get_byte move $4,$19 .set macro .set reorder sll $16,$2,2 .set noreorder .set nomacro jal url_ftell move $4,$19 .set macro .set reorder subu $23,$23,$16 addiu $16,$16,-1 addu $16,$16,$2 lui $2,%hi(smk_pal) sw $16,796($sp) addiu $21,$2,%lo(smk_pal) .set noreorder .set nomacro j $L107 move $16,$0 .set macro .set reorder$L163: sll $3,$2,1 addu $3,$3,$2 addu $3,$3,$18 addiu $4,$16,1 addu $16,$2,$4 addiu $18,$3,3$L110: slt $2,$16,256 .set noreorder .set nomacro beq $2,$0,$L166 lw $6,796($sp) .set macro .set reorder$L107: .set noreorder .set nomacro jal get_byte move $4,$19 .set macro .set reorder move $17,$2 andi $2,$2,0x80 .set noreorder .set nomacro bne $2,$0,$L163 andi $2,$17,0x7f .set macro .set reorder andi $2,$17,0x40 .set noreorder .set nomacro beq $2,$0,$L111 addu $2,$17,$21 .set macro .set reorder .set noreorder .set nomacro jal get_byte move $4,$19 .set macro .set reorder move $3,$2 andi $5,$17,0x3f li $2,-1 # 0xffffffffffffffff .set noreorder .set nomacro beq $5,$2,$L110 slt $2,$16,256 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L114 sll $2,$3,1 .set macro .set reorder addu $2,$2,$3 addiu $3,$sp,24 addu $4,$3,$2 li $7,-1 # 0xffffffffffffffff li $6,256 # 0x100$L116: lbu $2,0($4) addiu $5,$5,-1 sb $2,0($18) lbu $3,1($4) addiu $16,$16,1 sb $3,1($18) lbu $2,2($4) addiu $4,$4,3 sb $2,2($18) .set noreorder .set nomacro beq $5,$7,$L110 addiu $18,$18,3 .set macro .set reorder bne $16,$6,$L116$L114: lw $6,796($sp)$L166: move $4,$19 sra $7,$6,31 .set noreorder .set nomacro jal url_fseek sw $0,16($sp) .set macro .set reorder li $2,1 # 0x1 .set noreorder .set nomacro j $L100 sw $2,792($sp) .set macro .set reorder$L111: lbu $3,0($2) move $4,$19 .set noreorder .set nomacro jal get_byte sb $3,0($18) .set macro .set reorder andi $2,$2,0x3f addu $2,$2,$21 lbu $3,0($2) move $4,$19 .set noreorder .set nomacro jal get_byte sb $3,1($18) .set macro .set reorder andi $2,$2,0x3f addu $2,$2,$21 lbu $3,0($2) addiu $16,$16,1 sb $3,2($18) .set noreorder .set nomacro j $L110 addiu $18,$18,3 .set macro .set reorder$L101: move $5,$18 .set noreorder .set nomacro jal memcpy li $6,768 # 0x300 .set macro .set reorder j $L104$L96: sll $2,$2,2 addu $2,$2,$20 lw $5,956($2) .set noreorder .set nomacro jal av_new_packet move $4,$22 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L135 li $12,-12 # 0xfffffffffffffff4 .set macro .set reorder lw $2,1012($20) lw $4,16($22) sll $2,$2,2 addu $2,$2,$20 lw $6,956($2) sltu $3,$6,32 .set noreorder .set nomacro bne $3,$0,$L137 lw $5,928($2) .set macro .set reorder andi $2,$4,0x3 bne $2,$0,$L137 andi $2,$5,0x3 bne $2,$0,$L137 li $2,-32 # 0xffffffffffffffe0 addiu $4,$4,-4 and $2,$6,$2 addu $7,$4,$2 sltu $3,$4,$7 .set noreorder .set nomacro beq $3,$0,$L141 addiu $5,$5,-4 .set macro .set reorder$L150:#APP S32LDI xr1,$5,4 S32LDI xr2,$5,4 S32LDI xr3,$5,4 S32LDI xr4,$5,4 S32LDI xr5,$5,4 S32LDI xr6,$5,4 S32LDI xr7,$5,4 S32LDI xr8,$5,4 S32SDI xr1,$4,4 S32SDI xr2,$4,4 S32SDI xr3,$4,4 S32SDI xr4,$4,4 S32SDI xr5,$4,4 S32SDI xr6,$4,4 S32SDI xr7,$4,4 S32SDI xr8,$4,4#NO_APP sltu $2,$4,$7 bne $2,$0,$L150$L141: andi $2,$6,0x1c addu $7,$7,$2 sltu $3,$4,$7 .set noreorder .set nomacro beq $3,$0,$L167 andi $3,$6,0x3 .set macro .set reorder$L151:#APP S32LDI xr1,$5,4 S32SDI xr1,$4,4#NO_APP sltu $2,$4,$7 .set noreorder .set nomacro bne $2,$0,$L151 andi $3,$6,0x3 .set macro .set reorder$L167: li $2,2 # 0x2 .set noreorder .set nomacro beq $3,$2,$L147 li $2,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro beq $3,$2,$L148 li $2,1 # 0x1 .set macro .set reorder bne $3,$2,$L145 lbu $2,4($5) sb $2,4($4)$L145: lw $2,1012($20)$L164: lw $6,16($22) sll $2,$2,2 addu $2,$2,$20 lw $3,956($2) move $12,$0 sw $3,20($22) lw $2,1012($20) sll $2,$2,2 addu $2,$2,$20 lw $3,984($2) sw $3,24($22) lw $11,1012($20) sll $10,$11,3 addu $10,$10,$20 lw $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,24 sll $5,$5,16 or $4,$4,$5 or $4,$4,$7 lw $6,1024($10) sll $2,$2,8 or $2,$2,$4 lw $7,1028($10) addu $8,$6,$2 sra $3,$2,31 sltu $4,$8,$6 addu $9,$7,$3 addiu $11,$11,-1 addu $9,$4,$9 sw $8,1024($10) sw $9,1028($10) .set noreorder .set nomacro j $L135 sw $11,1012($20) .set macro .set reorder$L161: jal get_le32 lw $3,1012($20) addiu $17,$2,-4 addiu $3,$3,1 sll $16,$3,2 addu $16,$16,$20 lw $4,928($16) sw $3,1012($20) .set noreorder .set nomacro jal av_realloc move $5,$17 .set macro .set reorder lw $3,1012($20) sw $2,928($16) sll $3,$3,2 addu $3,$3,$20 lw $5,928($3) sw $17,956($3) move $4,$19 .set noreorder .set nomacro jal get_buffer move $6,$17 .set macro .set reorder addu $3,$20,$21 .set noreorder .set nomacro bne $17,$2,$L93 subu $5,$23,$17 .set macro .set reorder lw $2,1012($20) lw $3,896($3) sll $2,$2,2 addu $2,$2,$20 addiu $23,$5,-4 .set noreorder .set nomacro j $L119 sw $3,984($2) .set macro .set reorder$L137: jal memcpy .set noreorder .set nomacro j $L164 lw $2,1012($20) .set macro .set reorder$L128: move $5,$3 .set noreorder .set nomacro jal memcpy li $6,768 # 0x300 .set macro .set reorder .set noreorder .set nomacro j $L131 lw $5,16($22) .set macro .set reorder$L147: lbu $2,4($5) sb $2,4($4) lbu $3,5($5) .set noreorder .set nomacro j $L145 sb $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 nomacro j $L145 sb $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 + -
显示快捷键?