📄 bmp.mid
字号:
.file 1 "bmp.c" .section .mdebug.abi32 .previous .section .text.bmp_decode_end,"ax",@progbits .align 2 .align 5 .ent bmp_decode_end .type bmp_decode_end, @functionbmp_decode_end: .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $31,16($sp) lw $5,136($4) lw $2,0($5) beq $2,$0,$L6 lw $31,16($sp) lw $2,264($4) jal $2 nop lw $31,16($sp)$L6: move $2,$0 j $31 addiu $sp,$sp,24 .set macro .set reorder .end bmp_decode_end .section .text.bmp_decode_init,"ax",@progbits .align 2 .align 5 .ent bmp_decode_init .type bmp_decode_init, @functionbmp_decode_init: .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $31,24($sp) sw $17,20($sp) sw $16,16($sp) lw $16,136($4) move $17,$4 jal avcodec_get_frame_defaults move $4,$16 sw $16,408($17) lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) move $2,$0 j $31 addiu $sp,$sp,32 .set macro .set reorder .end bmp_decode_init .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "buf size too small (%d)\012\000" .align 2$LC1: .ascii "bad magic number\012\000" .align 2$LC2: .ascii "not enough data (%d < %d)\012\000" .align 2$LC3: .ascii "invalid header size %d\012\000" .align 2$LC4: .ascii "invalid BMP header\012\000" .align 2$LC5: .ascii "BMP coding %d not supported\012\000" .align 2$LC6: .ascii "depth %d not supported\012\000" .align 2$LC7: .ascii "unsupported pixel format\012\000" .align 2$LC8: .ascii "get_buffer() failed\012\000" .align 2$LC9: .ascii "BMP decoder is broken\012\000" .section .text.bmp_decode_frame,"ax",@progbits .align 2 .align 5 .ent bmp_decode_frame .type bmp_decode_frame, @functionbmp_decode_frame: .frame $sp,96,$31 # vars= 32, regs= 10/0, args= 24, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-96 sw $19,68($sp) lw $19,112($sp) sw $20,72($sp) sw $17,60($sp) sw $31,92($sp) sw $fp,88($sp) sw $23,84($sp) sw $22,80($sp) sw $21,76($sp) sw $18,64($sp) sw $16,56($sp) sw $5,100($sp) slt $2,$19,14 move $20,$4 sw $6,104($sp) move $17,$7 .set noreorder .set nomacro bne $2,$0,$L97 lw $22,136($4) .set macro .set reorder lbu $3,0($7) li $2,66 # 0x42 .set noreorder .set nomacro bne $3,$2,$L13 li $2,77 # 0x4d .set macro .set reorder lbu $3,1($7) .set noreorder .set nomacro beq $3,$2,$L15 addiu $5,$7,6 .set macro .set reorder$L13: lui $6,%hi($LC1) addiu $6,$6,%lo($LC1) .set noreorder .set nomacro jal av_log move $5,$0 .set macro .set reorder li $19,-1 # 0xffffffffffffffff$L12: move $2,$19$L111: lw $31,92($sp) lw $fp,88($sp) lw $23,84($sp) lw $22,80($sp) lw $21,76($sp) lw $20,72($sp) lw $19,68($sp) lw $18,64($sp) lw $17,60($sp) lw $16,56($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,96 .set macro .set reorder$L15: lbu $2,-1($5) lbu $6,-2($5) lbu $7,-4($5) lbu $3,-3($5) sll $2,$2,24 sll $6,$6,16 or $2,$2,$6 or $2,$2,$7 sll $3,$3,8 or $8,$3,$2 sltu $5,$19,$8 .set noreorder .set nomacro bne $5,$0,$L98 lui $6,%hi($LC2) .set macro .set reorder addiu $5,$17,14 lbu $2,-1($5) lbu $6,-2($5) lbu $7,-4($5) lbu $3,-3($5) sll $2,$2,24 sll $6,$6,16 or $2,$2,$6 or $2,$2,$7 sll $3,$3,8 or $23,$3,$2 sltu $5,$23,$8 .set noreorder .set nomacro beq $5,$0,$L99 lui $6,%hi($LC2) .set macro .set reorder addiu $2,$17,18 lbu $3,-1($2) lbu $6,-2($2) lbu $7,-4($2) sll $6,$6,16 lbu $5,-3($2) sll $3,$3,24 or $3,$3,$6 or $3,$3,$7 sll $5,$5,8 or $6,$5,$3 addiu $2,$6,14 sltu $2,$23,$2 .set noreorder .set nomacro bne $2,$0,$L100 addiu $2,$17,28 .set macro .set reorder lbu $3,-2($2) lbu $5,-1($2) addiu $2,$17,22 lbu $7,-4($2) sll $5,$5,8 sw $7,48($sp) or $5,$5,$3 addiu $3,$17,26 lbu $7,-4($3) sw $7,40($sp) lbu $fp,-1($2) lbu $31,-2($2) lbu $2,-3($2) sw $2,44($sp) li $2,1 # 0x1 lbu $18,-1($3) lbu $21,-2($3) .set noreorder .set nomacro bne $5,$2,$L101 lbu $25,-3($3) .set macro .set reorder addiu $2,$17,30 lbu $5,-2($2) sltu $3,$6,17 sw $5,36($sp) .set noreorder .set nomacro beq $3,$0,$L24 lbu $24,-1($2) .set macro .set reorder move $16,$0$L26: sll $3,$18,24$L113: sll $2,$21,16 lw $6,40($sp) or $3,$3,$2 or $3,$3,$6 sll $2,$25,8 sll $4,$fp,24 sll $5,$31,16 or $fp,$2,$3 lw $7,48($sp) lw $3,44($sp) or $4,$4,$5 or $4,$4,$7 sll $2,$3,8 or $5,$2,$4 lw $4,36($sp) sll $3,$24,8 or $18,$3,$4 sw $5,40($20) .set noreorder .set nomacro bltz $fp,$L102 sw $fp,44($20) .set macro .set reorder$L30: li $2,-1 # 0xffffffffffffffff li $3,24 # 0x18 .set noreorder .set nomacro beq $18,$3,$L33 sw $2,52($20) .set macro .set reorder li $2,32 # 0x20 .set noreorder .set nomacro beq $18,$2,$L34 li $2,16 # 0x10 .set macro .set reorder .set noreorder .set nomacro beq $18,$2,$L103 lui $6,%hi($LC6) .set macro .set reorder move $4,$20 addiu $6,$6,%lo($LC6) move $7,$18 .set noreorder .set nomacro jal av_log move $5,$0 .set macro .set reorder .set noreorder .set nomacro j $L12 li $19,-1 # 0xffffffffffffffff .set macro .set reorder$L24: addiu $5,$17,34 lbu $2,-1($5) lbu $6,-2($5) sll $2,$2,24 sll $6,$6,16 lbu $7,-4($5) lbu $3,-3($5) or $2,$2,$6 or $2,$2,$7 sll $3,$3,8 or $16,$3,$2 .set noreorder .set nomacro beq $16,$0,$L113 sll $3,$18,24 .set macro .set reorder li $2,3 # 0x3 .set noreorder .set nomacro bne $16,$2,$L104 addiu $7,$17,58 .set macro .set reorder addiu $8,$17,62 addiu $9,$17,66 lbu $4,-1($7) lbu $12,-2($7) lbu $3,-1($8) lbu $11,-2($8) lbu $2,-1($9) lbu $10,-2($9) lbu $15,-4($7) lbu $5,-3($7) lbu $14,-4($8) lbu $13,-4($9) lbu $6,-3($8) lbu $7,-3($9) sll $4,$4,24 sll $12,$12,16 sll $3,$3,24 sll $11,$11,16 sll $2,$2,24 sll $10,$10,16 or $4,$4,$12 or $3,$3,$11 or $2,$2,$10 or $4,$4,$15 or $3,$3,$14 or $2,$2,$13 sll $5,$5,8 sll $6,$6,8 sll $7,$7,8 or $5,$5,$4 or $6,$6,$3 or $7,$7,$2 sw $5,24($sp) sw $6,28($sp) .set noreorder .set nomacro j $L26 sw $7,32($sp) .set macro .set reorder$L34: li $2,3 # 0x3 .set noreorder .set nomacro beq $16,$2,$L35 li $5,1 # 0x1 .set macro .set reorder li $6,2 # 0x2 sw $0,32($sp) sw $5,28($sp) sw $6,24($sp)$L33: li $2,3 # 0x3$L116: sw $2,52($20)$L42: lw $2,0($22) .set noreorder .set nomacro beq $2,$0,$L45 move $4,$20 .set macro .set reorder lw $2,264($20) .set noreorder .set nomacro jal $2 move $5,$22 .set macro .set reorder$L45: lw $2,260($20) sw $0,80($22) move $4,$20 .set noreorder .set nomacro jal $2 move $5,$22 .set macro .set reorder .set noreorder .set nomacro bltz $2,$L105 li $2,1 # 0x1 .set macro .set reorder sw $2,48($22) sw $2,52($22) lw $5,40($20) srl $2,$18,3 mul $2,$2,$5 li $3,-4 # 0xfffffffffffffffc addiu $2,$2,3 lw $10,44($20) and $21,$2,$3 mul $3,$21,$10 subu $7,$19,$23 slt $2,$7,$3 .set noreorder .set nomacro bne $2,$0,$L106 lui $6,%hi($LC2) .set macro .set reorder .set noreorder .set nomacro blez $fp,$L50 addiu $2,$10,-1 .set macro .set reorder lw $4,16($22) mul $6,$2,$4 lw $3,0($22) subu $fp,$0,$4 addu $16,$6,$3$L52: li $2,24 # 0x18 .set noreorder .set nomacro beq $18,$2,$L55 addu $17,$17,$23 .set macro .set reorder li $2,32 # 0x20 .set noreorder .set nomacro beq $18,$2,$L56 li $2,16 # 0x10 .set macro .set reorder .set noreorder .set nomacro beq $18,$2,$L107 lui $6,%hi($LC9) .set macro .set reorder move $4,$20 addiu $6,$6,%lo($LC9) .set noreorder .set nomacro jal av_log move $5,$0 .set macro .set reorder .set noreorder .set nomacro j $L12 li $19,-1 # 0xffffffffffffffff .set macro .set reorder$L102: subu $10,$0,$fp .set noreorder .set nomacro j $L30 sw $10,44($20) .set macro .set reorder$L107: .set noreorder .set nomacro blez $10,$L58 move $6,$0 .set macro .set reorder$L75: blez $5,$L76 move $7,$17 move $4,$16 move $8,$0$L78: lhu $2,0($7) addiu $8,$8,1 slt $3,$8,$5 sh $2,0($4) addiu $7,$7,2 .set noreorder .set nomacro bne $3,$0,$L78 addiu $4,$4,2 .set macro .set reorder$L76: addiu $6,$6,1 slt $2,$6,$10 .set noreorder .set nomacro beq $2,$0,$L58 addu $17,$17,$21 .set macro .set reorder .set noreorder .set nomacro j $L75 addu $16,$16,$fp .set macro .set reorder$L35: lw $3,28($sp) lw $7,24($sp) srl $4,$3,15 andi $4,$4,0x3 sw $4,28($sp) lw $4,32($sp) srl $2,$7,15 lw $5,28($sp) andi $2,$2,0x3 srl $3,$4,15 andi $3,$3,0x3 sw $2,24($sp) addu $2,$2,$5 addu $2,$3,$2 .set noreorder .set nomacro beq $2,$16,$L108 sw $3,32($sp) .set macro .set reorder$L38: lui $6,%hi($LC7)$L112: move $4,$20$L117: addiu $6,$6,%lo($LC7) .set noreorder .set nomacro jal av_log move $5,$0 .set macro .set reorder .set noreorder .set nomacro j $L12 li $19,-1 # 0xffffffffffffffff .set macro .set reorder$L58: lw $7,100($sp) move $6,$22 addiu $8,$22,192$L85: lw $2,0($6) lw $3,4($6) lw $4,8($6) lw $5,12($6) addiu $6,$6,16 sw $2,0($7) sw $3,4($7) sw $4,8($7) sw $5,12($7) .set noreorder .set nomacro bne $6,$8,$L85 addiu $7,$7,16 .set macro .set reorder lw $2,4($6) lw $3,0($6) sw $2,4($7) sw $3,0($7) lw $3,104($sp) li $2,32 # 0x20 .set noreorder .set nomacro j $L12 sw $2,0($3) .set macro .set reorder$L103: .set noreorder .set nomacro bne $16,$0,$L112 lui $6,%hi($LC7) .set macro .set reorder li $2,10 # 0xa .set noreorder .set nomacro j $L42 sw $2,52($20) .set macro .set reorder$L55: .set noreorder .set nomacro blez $10,$L58 move $18,$0 .set macro .set reorder$L61: sll $2,$5,1 addu $6,$2,$5 sltu $3,$6,32 .set noreorder .set nomacro bne $3,$0,$L114 move $4,$16 .set macro .set reorder andi $2,$16,0x3 bne $2,$0,$L114 andi $2,$17,0x3 bne $2,$0,$L62 li $2,-32 # 0xffffffffffffffe0 addiu $8,$16,-4 and $2,$6,$2 addu $9,$2,$8 sltu $3,$8,$9 .set noreorder .set nomacro beq $3,$0,$L66 addiu $7,$17,-4 .set macro .set reorder$L87:#APP S32LDI xr1,$7,4 S32LDI xr2,$7,4 S32LDI xr3,$7,4 S32LDI xr4,$7,4 S32LDI xr5,$7,4 S32LDI xr6,$7,4 S32LDI xr7,$7,4 S32LDI xr8,$7,4 S32SDI xr1,$8,4 S32SDI xr2,$8,4 S32SDI xr3,$8,4 S32SDI xr4,$8,4 S32SDI xr5,$8,4 S32SDI xr6,$8,4 S32SDI xr7,$8,4 S32SDI xr8,$8,4#NO_APP sltu $2,$8,$9 bne $2,$0,$L87$L66: andi $2,$6,0x1c addu $9,$9,$2 sltu $3,$8,$9 .set noreorder .set nomacro beq $3,$0,$L115 andi $3,$6,0x3 .set macro .set reorder$L88:#APP S32LDI xr1,$7,4 S32SDI xr1,$8,4#NO_APP sltu $2,$8,$9 .set noreorder .set nomacro bne $2,$0,$L88 andi $3,$6,0x3 .set macro .set reorder$L115: li $2,2 # 0x2 .set noreorder .set nomacro beq $3,$2,$L72 li $2,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro beq $3,$2,$L73 li $2,1 # 0x1 .set macro .set reorder beq $3,$2,$L109$L70: lw $2,44($20)$L110: addiu $18,$18,1 slt $2,$18,$2 .set noreorder .set nomacro beq $2,$0,$L58 addu $17,$17,$21 .set macro .set reorder lw $5,40($20) .set noreorder .set nomacro j $L61 addu $16,$16,$fp .set macro .set reorder$L62:$L114: .set noreorder .set nomacro jal memcpy move $5,$17 .set macro .set reorder .set noreorder .set nomacro j $L110 lw $2,44($20) .set macro .set reorder$L50: lw $16,0($22) .set noreorder .set nomacro j $L52 lw $fp,16($22) .set macro .set reorder$L56: .set noreorder .set nomacro blez $10,$L58 lw $2,32($sp) .set macro .set reorder lw $3,24($sp) addu $7,$17,$2 lw $2,28($sp) addu $6,$3,$17 addu $4,$17,$2 move $8,$0$L80: blez $5,$L81 move $13,$7 move $12,$4 move $11,$6 move $10,$16 move $14,$0$L83: lbu $2,0($13) addiu $14,$14,1 sb $2,0($10) lbu $3,0($12) addiu $13,$13,4 sb $3,1($10) lbu $2,0($11) addiu $12,$12,4 sb $2,2($10) lw $5,40($20) addiu $10,$10,3 slt $2,$14,$5 .set noreorder .set nomacro bne $2,$0,$L83 addiu $11,$11,4 .set macro .set reorder lw $10,44($20)$L81: addiu $8,$8,1 slt $2,$8,$10 addu $6,$6,$21 addu $4,$4,$21 .set noreorder .set nomacro beq $2,$0,$L58 addu $7,$7,$21 .set macro .set reorder .set noreorder .set nomacro j $L80 addu $16,$16,$fp .set macro .set reorder$L97: lui $6,%hi($LC0) move $7,$19 addiu $6,$6,%lo($LC0) .set noreorder .set nomacro jal av_log move $5,$0 .set macro .set reorder .set noreorder .set nomacro j $L12 li $19,-1 # 0xffffffffffffffff .set macro .set reorder$L72: lbu $2,4($7) sb $2,4($8) lbu $3,5($7) .set noreorder .set nomacro j $L70 sb $3,5($8) .set macro .set reorder$L73: lbu $2,4($7) sb $2,4($8) lbu $3,5($7) sb $3,5($8) lbu $2,6($7) .set noreorder .set nomacro j $L70 sb $2,6($8) .set macro .set reorder$L101: lui $6,%hi($LC4) addiu $6,$6,%lo($LC4) .set noreorder .set nomacro jal av_log move $5,$0 .set macro .set reorder .set noreorder .set nomacro j $L12 li $19,-1 # 0xffffffffffffffff .set macro .set reorder$L109: lbu $2,4($7) .set noreorder .set nomacro j $L70 sb $2,4($8) .set macro .set reorder$L98: move $7,$19 addiu $6,$6,%lo($LC2) move $5,$0 sw $8,16($sp) .set noreorder .set nomacro jal av_log li $19,-1 # 0xffffffffffffffff .set macro .set reorder .set noreorder .set nomacro j $L111 move $2,$19 .set macro .set reorder$L99: addiu $6,$6,%lo($LC2) move $7,$8 move $5,$0 sw $23,16($sp) .set noreorder .set nomacro jal av_log li $19,-1 # 0xffffffffffffffff .set macro .set reorder .set noreorder .set nomacro j $L111 move $2,$19 .set macro .set reorder$L100: lui $6,%hi($LC3) addiu $6,$6,%lo($LC3) move $7,$23 .set noreorder .set nomacro jal av_log move $5,$0 .set macro .set reorder .set noreorder .set nomacro j $L12 li $19,-1 # 0xffffffffffffffff .set macro .set reorder$L108: lw $6,24($sp) beq $6,$5,$L38 .set noreorder .set nomacro beq $6,$3,$L112 lui $6,%hi($LC7) .set macro .set reorder .set noreorder .set nomacro bne $5,$3,$L116 li $2,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro j $L117 move $4,$20 .set macro .set reorder$L104: lui $6,%hi($LC5) addiu $6,$6,%lo($LC5) move $7,$16 .set noreorder .set nomacro jal av_log move $5,$0 .set macro .set reorder .set noreorder .set nomacro j $L12 li $19,-1 # 0xffffffffffffffff .set macro .set reorder$L106: move $4,$20 addiu $6,$6,%lo($LC2) move $5,$0 sw $3,16($sp) .set noreorder .set nomacro jal av_log li $19,-1 # 0xffffffffffffffff .set macro .set reorder .set noreorder .set nomacro j $L111 move $2,$19 .set macro .set reorder$L105: lui $6,%hi($LC8) move $4,$20 addiu $6,$6,%lo($LC8) .set noreorder .set nomacro jal av_log move $5,$0 .set macro .set reorder .set noreorder .set nomacro j $L12 li $19,-1 # 0xffffffffffffffff .set macro .set reorder .end bmp_decode_frame .globl bmp_decoder .section .rodata.str1.4 .align 2$LC10: .ascii "bmp\000" .data .align 2 .type bmp_decoder, @object .size bmp_decoder, 52bmp_decoder: .word $LC10 .word 0 .word 81 .word 200 .word bmp_decode_init .word 0 .word bmp_decode_end .word bmp_decode_frame .space 20 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -