vf_crop.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 731 行
MID
731 行
.file 1 "vf_crop.c" .section .mdebug.abi32 .previous .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "%d:%d:%d:%d\000" .align 2$LC1: .ascii "Crop: %d x %d, %d ; %d\012\000" .section .text.vf_open,"ax",@progbits .align 2 .align 5 .ent vf_open .type vf_open, @functionvf_open: .frame $sp,48,$31 # vars= 0, regs= 3/0, args= 32, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sw $16,32($sp) li $3,1024 # 0x400 move $16,$4 sw $17,36($sp) sw $31,40($sp) lui $2,%hi(config) sw $3,44($16) lui $3,%hi(put_image) addiu $2,$2,%lo(config) addiu $3,$3,%lo(put_image) lw $8,100($4) sw $2,4($16) sw $3,20($16) lui $2,%hi(start_slice) lui $3,%hi(draw_slice) addiu $2,$2,%lo(start_slice) addiu $3,$3,%lo(draw_slice) li $4,16 # 0x10 sw $2,24($16) sw $3,28($16) beq $8,$0,$L8 move $17,$5$L2: lui $5,%hi($LC0) move $6,$8 move $4,$17 addiu $5,$5,%lo($LC0) addiu $2,$8,8 addiu $3,$8,12 beq $17,$0,$L4 addiu $7,$8,4 sw $2,16($sp) jal sscanf sw $3,20($sp) lw $8,100($16)$L4: lw $2,4($8) lw $7,0($8) sw $2,16($sp) lw $3,8($8) lui $6,%hi($LC1) sw $3,20($sp) lw $2,12($8) addiu $6,$6,%lo($LC1) li $4,29 # 0x1d li $5,4 # 0x4 jal mp_msg sw $2,24($sp) lw $31,40($sp) lw $17,36($sp) lw $16,32($sp) li $2,1 # 0x1 j $31 addiu $sp,$sp,48$L8: jal uc_malloc nop move $8,$2 li $2,-1 # 0xffffffffffffffff sw $2,8($8) sw $2,4($8) sw $2,0($8) sw $2,12($8) j $L2 sw $8,100($16) .set macro .set reorder .end vf_open .section .text.draw_slice,"ax",@progbits .align 2 .align 5 .ent draw_slice .type draw_slice, @functiondraw_slice: .frame $sp,56,$31 # vars= 16, regs= 1/0, args= 32, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $31,48($sp) lw $12,96($4) lw $3,0($5) lhu $2,0($12) move $13,$4 andi $2,$2,0x100 sw $3,32($sp) move $14,$6 beq $2,$0,$L10 lw $9,72($sp) lw $2,8($5) lw $3,4($5) sw $2,40($sp) sw $3,36($sp)$L10: lw $10,100($13) lw $2,76($sp) lw $3,8($10) subu $11,$2,$3 bltz $11,$L28 lw $2,80($sp) lw $3,12($10) subu $8,$2,$3 bltz $8,$L29 nop$L16: lw $4,0($10) lw $5,4($10) addu $2,$7,$11 slt $2,$4,$2 addu $3,$9,$8 subu $4,$4,$11 slt $3,$5,$3 movn $7,$4,$2 subu $5,$5,$8 bltz $7,$L27 movn $9,$5,$3 bltz $9,$L27 move $4,$13 move $6,$14 addiu $5,$sp,32 sw $9,16($sp) sw $11,20($sp) jal vf_next_draw_slice sw $8,24($sp)$L27: lw $31,48($sp) j $31 addiu $sp,$sp,56$L28: lw $2,32($sp) lhu $3,0($12) subu $5,$0,$11 addu $2,$2,$5 andi $3,$3,0x100 bne $3,$0,$L30 sw $2,32($sp) subu $7,$7,$5 move $11,$0$L32: lw $3,12($10) lw $2,80($sp) subu $8,$2,$3 bgez $8,$L16 nop$L29: lw $2,0($14) subu $8,$0,$8 mul $5,$8,$2 lw $3,32($sp) lhu $4,0($12) addu $2,$5,$3 andi $4,$4,0x100 bne $4,$0,$L31 sw $2,32($sp) subu $9,$9,$8 j $L16 move $8,$0$L31: lw $4,100($12) lw $5,8($14) sra $4,$8,$4 mul $3,$4,$5 lw $2,40($sp) lw $6,4($14) addu $5,$3,$2 mul $2,$4,$6 lw $3,36($sp) subu $9,$9,$8 addu $4,$2,$3 move $8,$0 sw $4,36($sp) j $L16 sw $5,40($sp)$L30: lw $2,96($12) lw $4,40($sp) lw $3,36($sp) sra $2,$5,$2 addu $4,$4,$2 addu $3,$3,$2 subu $7,$7,$5 move $11,$0 sw $3,36($sp) j $L32 sw $4,40($sp) .set macro .set reorder .end draw_slice .section .text.start_slice,"ax",@progbits .align 2 .align 5 .ent start_slice .type start_slice, @functionstart_slice: .frame $sp,32,$31 # vars= 0, regs= 2/0, args= 24, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $31,28($sp) sw $16,24($sp) lw $8,100($4) lhu $7,0($5) lw $2,0($8) move $16,$4 sw $2,16($sp) lw $2,4($5) lbu $6,2($5) lw $4,92($4) lw $3,4($8) move $5,$2 jal vf_get_image sw $3,20($sp) sw $2,96($16) lw $31,28($sp) lw $16,24($sp) j $31 addiu $sp,$sp,32 .set macro .set reorder .end start_slice .section .text.put_image,"ax",@progbits .align 2 .align 5 .ent put_image .type put_image, @functionput_image: .frame $sp,48,$31 # vars= 0, regs= 5/0, args= 24, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sw $19,36($sp) sw $18,32($sp) sw $17,28($sp) sw $16,24($sp) sw $31,40($sp) lhu $2,0($5) move $16,$5 andi $2,$2,0x1000 move $17,$4 move $18,$6 beq $2,$0,$L36 move $19,$7 lw $5,96($4) lw $31,40($sp) lw $19,36($sp) lw $18,32($sp) lw $17,28($sp) lw $16,24($sp) j vf_next_put_image addiu $sp,$sp,48$L36: lw $7,100($4) lw $5,4($5) lw $2,0($7) lw $4,92($4) sw $2,16($sp) lw $3,4($7) move $6,$0 move $7,$0 jal vf_get_image sw $3,20($sp) move $8,$2 lhu $2,0($16) andi $2,$2,0x100 beq $2,$0,$L38 nop lw $4,100($17) lw $2,48($16) lw $3,12($4) lw $5,8($4) mul $4,$3,$2 lw $6,32($16) lw $7,52($16) addu $2,$4,$6 lw $6,100($16) addu $2,$2,$5 sra $3,$3,$6 mul $6,$3,$7 sw $2,32($8) lw $2,36($16) lw $4,96($16) addu $2,$6,$2 lw $6,56($16) sw $7,52($8) sra $5,$5,$4 lw $4,56($16) addu $2,$2,$5 sw $4,56($8) mul $4,$3,$6 sw $2,36($8) lw $2,40($16) lw $6,48($16) addu $3,$4,$2 addu $3,$3,$5 sw $3,40($8)$L40: lw $2,8($16) sw $6,48($8) sw $2,8($8) move $4,$17 move $6,$18 move $7,$19 lw $31,40($sp) lw $19,36($sp) lw $18,32($sp) lw $17,28($sp) lw $16,24($sp) move $5,$8 j vf_next_put_image addiu $sp,$sp,48$L38: lw $5,100($17) lw $6,48($16) lw $2,12($5) lbu $3,3($16) mult $2,$6 lw $4,8($5) srl $3,$3,3 madd $3,$4 lw $2,32($16) mflo $3 addu $2,$2,$3 sw $2,32($8) lw $3,36($16) j $L40 sw $3,36($8) .set macro .set reorder .end put_image .section .rodata.str1.4 .align 2$LC2: .ascii "[CROP] Bad position/width/height - cropped area outside " .ascii "of the original!\012\000" .section .text.config,"ax",@progbits .align 2 .align 5 .ent config .type config, @functionconfig: .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 $8,100($4) move $10,$5 lw $2,0($8) move $11,$6 lw $12,40($sp) lw $13,44($sp) blez $2,$L45 lw $9,48($sp) slt $2,$5,$2 bne $2,$0,$L45 nop$L47: lw $2,4($8) blez $2,$L48 slt $2,$11,$2 bne $2,$0,$L48 nop lw $2,8($8) bltz $2,$L73 nop$L51: lw $2,12($8) bltz $2,$L74 nop$L53: li $3,-256 # 0xffffffffffffff00$L80: li $2,1380384768 # 0x52470000 and $3,$9,$3 ori $2,$2,0x4200 beq $3,$2,$L55 li $2,1111949312 # 0x42470000 ori $2,$2,0x5200 beq $3,$2,$L55 li $2,959447040 # 0x39300000 ori $2,$2,0x4649 beq $9,$2,$L60 sltu $2,$2,$9 beq $2,$0,$L75 li $2,808452096 # 0x30300000 li $2,1345388544 # 0x50310000 ori $2,$2,0x3134 beq $9,$2,$L61 sltu $2,$2,$9 bne $2,$0,$L64 li $2,1345585152 # 0x50340000 li $2,961871872 # 0x39550000 ori $2,$2,0x5659 beq $9,$2,$L60 nop$L58: lw $2,8($8) li $3,-2 # 0xfffffffffffffffe and $2,$2,$3 sw $2,8($8)$L55: lw $5,0($8)$L77: lw $2,8($8) addu $2,$5,$2 slt $2,$10,$2 bne $2,$0,$L79 lui $6,%hi($LC2) lw $2,12($8) lw $6,4($8) addu $2,$6,$2 slt $2,$11,$2 beq $2,$0,$L76 lui $2,%hi(opt_screen_size_x) lui $6,%hi($LC2)$L79: addiu $6,$6,%lo($LC2) li $4,29 # 0x1d jal mp_msg li $5,2 # 0x2 lw $31,16($sp) move $2,$0 j $31 addiu $sp,$sp,24$L48: lw $2,8($8) bgez $2,$L51 sw $11,4($8)$L73: lw $3,0($8) subu $3,$10,$3 srl $2,$3,31 addu $2,$2,$3 sra $2,$2,1 sw $2,8($8) lw $2,12($8) bgez $2,$L80 li $3,-256 # 0xffffffffffffff00$L74: lw $3,4($8) subu $3,$11,$3 srl $2,$3,31 addu $2,$2,$3 sra $2,$2,1 j $L53 sw $2,12($8)$L45: j $L47 sw $10,0($8)$L76: lw $3,%lo(opt_screen_size_x)($2) bne $3,$0,$L69 nop lui $2,%hi(opt_screen_size_y) lw $3,%lo(opt_screen_size_y)($2) bne $3,$0,$L69 nop mul $2,$5,$7 mul $3,$6,$12 div $0,$2,$10 teq $10,$0,7 mflo $7 div $0,$3,$11 teq $11,$0,7 mflo $12$L69: sw $12,40($sp) sw $13,44($sp) sw $9,48($sp) lw $31,16($sp) j vf_next_config addiu $sp,$sp,24$L75: ori $2,$2,0x3859 beq $9,$2,$L55 sltu $2,$2,$9 bne $2,$0,$L63 li $2,808583168 # 0x30320000 li $2,538968064 # 0x20200000 ori $2,$2,0x3859 bne $9,$2,$L58 nop j $L77 lw $5,0($8)$L60: lw $2,12($8) li $3,-4 # 0xfffffffffffffffc and $2,$2,$3 sw $2,12($8)$L61: lw $2,8($8) li $3,-4 # 0xfffffffffffffffc and $2,$2,$3 j $L55 sw $2,8($8)$L64: ori $2,$2,0x3434 beq $9,$2,$L55 li $2,1448411136 # 0x56550000 ori $2,$2,0x5949 bne $9,$2,$L58 nop j $L78 lw $2,12($8)$L63: ori $2,$2,0x3449 beq $9,$2,$L59 li $2,842072064 # 0x32310000 ori $2,$2,0x5659 bne $9,$2,$L58 nop$L59: lw $2,12($8)$L78: li $3,-2 # 0xfffffffffffffffe and $2,$2,$3 j $L58 sw $2,12($8) .set macro .set reorder .end config .globl vf_info_crop .section .rodata.str1.4 .align 2$LC3: .ascii "cropping\000" .align 2$LC4: .ascii "crop\000" .align 2$LC5: .ascii "A'rpi\000" .subsection -1 .align 2$LC6: .ascii "\000" .data .align 2 .type vf_info_crop, @object .size vf_info_crop, 24vf_info_crop: .word $LC3 .word $LC4 .word $LC5 .word $LC6 .word vf_open .word vf_opts .align 2 .type vf_opts, @object .size vf_opts, 16vf_opts: .word $LC4 .word 16 .word vf_priv_dflt .word vf_opts_fields .rdata .align 2 .type vf_priv_dflt, @object .size vf_priv_dflt, 16vf_priv_dflt: .word -1 .word -1 .word -1 .word -1 .section .rodata.str1.4 .align 2$LC7: .ascii "w\000" .align 2$LC8: .ascii "h\000" .align 2$LC9: .ascii "x\000" .align 2$LC10: .ascii "y\000" .data .align 3 .type vf_opts_fields, @object .size vf_opts_fields, 200vf_opts_fields: .word $LC7 .word 0 .word m_option_type_int .word 1 .word 0 .word 0 .word 0 .word 0 .word 0 .space 4 .word $LC8 .word 4 .word m_option_type_int .word 1 .word 0 .word 0 .word 0 .word 0 .word 0 .space 4 .word $LC9 .word 8 .word m_option_type_int .word 1 .word 0 .word -1074790400 .word 0 .word 0 .word 0 .space 4 .word $LC10 .word 12 .word m_option_type_int .word 1 .word 0 .word -1074790400 .word 0 .word 0 .word 0 .space 4 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .space 4 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?