vd_sgi.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 609 行
MID
609 行
.file 1 "vd_sgi.c" .section .mdebug.abi32 .previous .section .text.control,"ax",@progbits .align 2 .align 5 .ent control .type control, @functioncontrol: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro li $2,3 # 0x3 li $3,-1 # 0xffffffffffffffff beq $5,$2,$L7 sw $7,12($sp) j $31 move $2,$3$L7: lw $3,0($6) li $2,-1112014848 # 0xffffffffbdb80000 ori $2,$2,0xade8 addu $3,$3,$2 sltu $3,$3,1 j $31 move $2,$3 .set macro .set reorder .end control .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "Bad magic number in image.\012\000" .align 2$LC1: .ascii "Unsupported bytes per channel value %i.\012\000" .align 2$LC2: .ascii "Unsupported image dimension %i.\012\000" .align 2$LC3: .ascii "Unsupported image depth.\012\000" .align 2$LC4: .ascii "Config vo failed:\012\000" .section .text.decode,"ax",@progbits .align 2 .align 5 .ent decode .type decode, @functiondecode: .frame $sp,64,$31 # vars= 0, regs= 9/0, args= 24, gp= 0 .mask 0x80ff0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-64 sw $18,32($sp) sw $17,28($sp) sw $31,56($sp) sw $23,52($sp) sw $22,48($sp) sw $21,44($sp) sw $20,40($sp) sw $19,36($sp) sw $16,24($sp) move $18,$4 move $17,$5 blez $6,$L95 lw $16,344($4) lhu $2,0($5) sll $3,$2,8 srl $2,$2,8 or $2,$2,$3 sh $2,0($16) lbu $4,2($5) sll $5,$2,16 sb $4,2($16) lbu $3,3($17) sra $5,$5,16 sb $3,3($16) lhu $2,4($17) sll $3,$2,8 srl $2,$2,8 or $2,$2,$3 sh $2,4($16) lhu $3,6($17) sll $2,$3,8 srl $3,$3,8 or $3,$3,$2 sh $3,6($16) lhu $2,8($17) sll $3,$2,8 srl $2,$2,8 or $2,$2,$3 sh $2,8($16) lhu $3,10($17) sll $2,$3,8 srl $3,$3,8 or $3,$3,$2 andi $3,$3,0xffff li $2,474 # 0x1da bne $5,$2,$L98 sh $3,10($16) lb $7,3($16) li $2,1 # 0x1 bne $7,$2,$L99 li $4,13 # 0xd lhu $4,4($16) addiu $2,$4,-2 andi $2,$2,0xffff sltu $2,$2,2 beq $2,$0,$L100 li $2,4 # 0x4 beq $3,$2,$L101 li $2,3 # 0x3 beq $3,$2,$L109 lui $10,%hi(last_x) bne $3,$7,$L102 lui $6,%hi($LC3)$L20: lui $10,%hi(last_x)$L109: lhu $8,6($16) lhu $2,%lo(last_x)($10) bne $2,$8,$L23 lui $9,%hi(last_y) lhu $3,8($16) lhu $2,%lo(last_y)($9) beq $3,$2,$L110 move $4,$18$L23: lhu $2,8($16) li $7,1111949312 # 0x42470000 move $5,$8 move $6,$2 ori $7,$7,0x5218 move $4,$18 sh $8,%lo(last_x)($10) jal mpcodecs_config_vo sh $2,%lo(last_y)($9) beq $2,$0,$L104 lui $6,%hi($LC4) lhu $8,6($16) lhu $3,8($16) move $4,$18$L110: move $7,$8 li $5,2 # 0x2 li $6,16 # 0x10 jal mpcodecs_get_image sw $3,16($sp) beq $2,$0,$L11 move $19,$2 lb $2,2($16) beq $2,$0,$L28 addiu $5,$17,512 lhu $3,10($16) blez $3,$L11 lhu $4,8($16) sll $18,$4,2 addu $2,$18,$17 addiu $15,$3,-1 addiu $24,$2,508 li $3,-16777216 # 0xffffffffff000000 li $2,16711680 # 0xff0000 ori $22,$3,0xff00 ori $23,$2,0xff addiu $25,$4,-1$L31: bltz $25,$L32 nop move $11,$24 move $12,$25 move $14,$0 move $20,$22 move $21,$23$L34: lw $2,0($11) lw $6,48($19) srl $3,$2,8 sll $2,$2,8 and $3,$3,$21 and $2,$2,$20 or $2,$2,$3 sll $4,$2,16 srl $2,$2,16 or $2,$2,$4 mul $4,$14,$6 lw $3,32($19) lhu $5,10($16) addu $8,$4,$3 li $3,1 # 0x1 beq $5,$3,$L105 addu $7,$17,$2 addu $9,$15,$8 li $10,255 # 0xff$L97: lbu $2,0($7) andi $3,$2,0x7f beq $3,$0,$L37 sll $2,$2,24$L111: sra $2,$2,24 bltz $2,$L106 addiu $7,$7,1 addiu $2,$3,-1 andi $6,$2,0x00ff lbu $4,0($7) beq $6,$10,$L97 addiu $7,$7,1 move $3,$9 move $2,$6 li $5,255 # 0xff$L55: addiu $2,$2,-1 andi $2,$2,0x00ff sb $4,0($3) bne $2,$5,$L55 addiu $3,$3,3 sll $2,$6,1 addu $2,$2,$6 addu $2,$9,$2 addiu $9,$2,3 lbu $2,0($7) andi $3,$2,0x7f bne $3,$0,$L111 sll $2,$2,24$L37: addiu $12,$12,-1 li $2,-1 # 0xffffffffffffffff addiu $14,$14,1 bne $12,$2,$L34 addiu $11,$11,-4$L32: addiu $15,$15,-1 li $2,-1 # 0xffffffffffffffff bne $15,$2,$L31 addu $24,$24,$18$L11: move $2,$19 lw $31,56($sp) lw $23,52($sp) lw $22,48($sp) lw $21,44($sp) lw $20,40($sp) lw $19,36($sp) lw $18,32($sp) lw $17,28($sp) lw $16,24($sp) j $31 addiu $sp,$sp,64$L106: addiu $2,$3,-1 andi $6,$2,0x00ff beq $6,$10,$L97 move $5,$9 move $4,$7 move $2,$6 li $8,255 # 0xff$L52: lbu $3,0($4) addiu $2,$2,-1 andi $2,$2,0x00ff sb $3,0($5) addiu $4,$4,1 bne $2,$8,$L52 addiu $5,$5,3 sll $2,$6,1 addu $2,$2,$6 addu $2,$9,$2 addu $3,$6,$7 addiu $7,$3,1 j $L97 addiu $9,$2,3$L105: li $13,255 # 0xff$L96: lbu $2,0($7) andi $3,$2,0x7f beq $3,$0,$L37 sll $2,$2,24 sra $2,$2,24 bltz $2,$L108 addiu $7,$7,1 addiu $2,$3,-1 andi $6,$2,0x00ff lbu $4,0($7) beq $6,$13,$L96 addiu $7,$7,1 move $3,$8 move $2,$6 li $5,255 # 0xff$L45: addiu $2,$2,-1 andi $2,$2,0x00ff sb $4,0($3) sb $4,1($3) sb $4,2($3) bne $2,$5,$L45 addiu $3,$3,3 sll $2,$6,1 addu $2,$2,$6 addu $2,$8,$2 j $L96 addiu $8,$2,3$L108: addiu $2,$3,-1 andi $9,$2,0x00ff beq $9,$13,$L96 move $6,$8 move $5,$7 move $4,$9 li $10,255 # 0xff$L42: lbu $2,0($5) addiu $4,$4,-1 sb $2,0($6) lbu $3,0($5) andi $4,$4,0x00ff sb $3,1($6) lbu $2,0($5) addiu $5,$5,1 sb $2,2($6) bne $4,$10,$L42 addiu $6,$6,3 sll $2,$9,1 addu $2,$2,$9 addu $2,$8,$2 addu $3,$7,$9 addiu $7,$3,1 j $L96 addiu $8,$2,3$L28: lhu $11,10($16) lhu $8,6($16) blez $11,$L11 lhu $2,8($16) mul $16,$8,$2 addiu $14,$2,-1 move $10,$11 sll $18,$8,1$L58: bltz $14,$L59 move $7,$5 move $9,$14 li $12,1 # 0x1 li $13,-1 # 0xffffffffffffffff addu $17,$18,$8$L61: lw $3,32($19) blez $8,$L62 lw $2,48($19) mul $4,$2,$9 beq $11,$12,$L64 addu $2,$4,$3 addu $4,$10,$2 move $6,$0$L66: addu $2,$6,$7 lbu $3,0($2) addiu $6,$6,1 sb $3,-1($4) bne $6,$8,$L66 addiu $4,$4,3$L62: addiu $9,$9,-1 bne $9,$13,$L61 addu $7,$7,$8$L59: addiu $10,$10,-1 bne $10,$0,$L58 addu $5,$5,$16 move $2,$19 lw $31,56($sp) lw $23,52($sp) lw $22,48($sp) lw $21,44($sp) lw $20,40($sp) lw $19,36($sp) lw $18,32($sp) lw $17,28($sp) lw $16,24($sp) j $31 addiu $sp,$sp,64$L101: li $2,3 j $L20 sh $2,10($16)$L98: lui $6,%hi($LC0) addiu $6,$6,%lo($LC0) li $4,13 # 0xd jal mp_msg li $5,4 # 0x4 j $L11 move $19,$0$L99: lui $6,%hi($LC1) addiu $6,$6,%lo($LC1) jal mp_msg li $5,4 # 0x4 j $L11 move $19,$0$L100: lui $6,%hi($LC2) move $7,$4 addiu $6,$6,%lo($LC2) li $4,13 # 0xd jal mp_msg li $5,4 # 0x4 j $L11 move $19,$0$L104: addiu $6,$6,%lo($LC4) li $4,13 # 0xd jal mp_msg li $5,4 # 0x4$L95: j $L11 move $19,$0$L102: addiu $6,$6,%lo($LC3) li $4,13 # 0xd jal mp_msg li $5,4 # 0x4 j $L11 move $19,$0$L64: move $4,$2 addu $2,$2,$17 addiu $15,$2,-3 move $6,$7$L67: lbu $2,0($6) sb $2,0($4) lbu $3,0($6) sb $3,1($4) lbu $2,0($6) addiu $6,$6,1 beq $15,$4,$L62 sb $2,2($4) j $L67 addiu $4,$4,3 .set macro .set reorder .end decode .section .text.uninit,"ax",@progbits .align 2 .align 5 .ent uninit .type uninit, @functionuninit: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j uc_free lw $4,344($4) .set macro .set reorder .end uninit .section .text.init,"ax",@progbits .align 2 .align 5 .ent init .type init, @functioninit: .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $16,16($sp) li $5,12 # 0xc move $16,$4 sw $31,20($sp) jal uc_calloc li $4,1 # 0x1 sw $2,344($16) li $3,-1 lui $2,%hi(last_x) sh $3,%lo(last_x)($2) lw $31,20($sp) lw $16,16($sp) li $2,1 # 0x1 j $31 addiu $sp,$sp,24 .set macro .set reorder .end init .globl mpcodecs_vd_sgi .data .align 2 .type mpcodecs_vd_sgi, @object .size mpcodecs_vd_sgi, 20mpcodecs_vd_sgi: .word info .word init .word uninit .word control .word decode .align 1 .type last_x, @object .size last_x, 2last_x: .half -1 .align 1 .type last_y, @object .size last_y, 2last_y: .half -1 .section .rodata.str1.4 .align 2$LC5: .ascii "SGI Image decoder\000" .align 2$LC6: .ascii "sgi\000" .align 2$LC7: .ascii "Todd Kirby\000" .subsection -1 .align 2$LC8: .ascii "\000" .data .align 2 .type info, @object .size info, 20info: .word $LC5 .word $LC6 .word $LC7 .word $LC7 .word $LC8 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?