vo_pnm.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,598 行 · 第 1/2 页
MID
1,598 行
.file 1 "vo_pnm.c" .section .mdebug.abi32 .previous .section .text.draw_slice,"ax",@progbits .align 2 .align 5 .ent draw_slice .type draw_slice, @functiondraw_slice: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j $31 move $2,$0 .set macro .set reorder .end draw_slice .section .text.check_events,"ax",@progbits .align 2 .align 5 .ent check_events .type check_events, @functioncheck_events: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j $31 nop .set macro .set reorder .end check_events .section .text.draw_osd,"ax",@progbits .align 2 .align 5 .ent draw_osd .type draw_osd, @functiondraw_osd: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j $31 nop .set macro .set reorder .end draw_osd .section .text.flip_page,"ax",@progbits .align 2 .align 5 .ent flip_page .type flip_page, @functionflip_page: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j $31 nop .set macro .set reorder .end flip_page .section .text.uninit,"ax",@progbits .align 2 .align 5 .ent uninit .type uninit, @functionuninit: .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 $16,16($sp) lui $16,%hi(pnm_subdirs) lw $2,%lo(pnm_subdirs)($16) sw $17,20($sp) sw $31,24($sp) lui $17,%hi(pnm_outdir) beq $2,$0,$L10 move $4,$2 jal uc_free nop sw $0,%lo(pnm_subdirs)($16)$L10: lw $2,%lo(pnm_outdir)($17) beq $2,$0,$L14 move $4,$2 jal uc_free nop sw $0,%lo(pnm_outdir)($17)$L14: lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32 .set macro .set reorder .end uninit .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "%s: draw_frame() is called!\012\000" .section .text.draw_frame,"ax",@progbits .align 2 .align 5 .ent draw_frame .type draw_frame, @functiondraw_frame: .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) lui $2,%hi(info+4) lw $7,%lo(info+4)($2) lui $6,%hi($LC0) addiu $6,$6,%lo($LC0) li $4,3 # 0x3 jal mp_msg li $5,6 # 0x6 lw $31,16($sp) li $2,-1 # 0xffffffffffffffff j $31 addiu $sp,$sp,24 .set macro .set reorder .end draw_frame .section .rodata.str1.4 .align 2$LC1: .ascii "%s: %s: %s\012\000" .align 2$LC2: .ascii "This error has occurred\000" .align 2$LC3: .ascii "%s: %s %s\012\000" .align 2$LC4: .ascii "Unable to access\000" .align 2$LC5: .ascii "Fatal error\000" .align 2$LC6: .ascii "already exists, but is not a directory.\000" .align 2$LC7: .ascii "%s: %s - %s\012\000" .align 2$LC8: .ascii "Output directory already exists, but is not writable.\000" .align 2$LC9: .ascii ".\000" .align 2$LC10: .ascii "Output directory already exists and is writable.\000" .align 2$LC11: .ascii "Unable to create output directory.\000" .align 2$LC12: .ascii "Output directory successfully created.\000" .section .text.pnm_mkdir,"ax",@progbits .align 2 .align 5 .ent pnm_mkdir .type pnm_mkdir, @functionpnm_mkdir: .frame $sp,200,$31 # vars= 160, regs= 4/0, args= 24, gp= 0 .mask 0x80070000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-200 sw $18,192($sp) sw $16,184($sp) sw $31,196($sp) sw $17,188($sp) move $16,$5 jal FS_MkDir move $18,$4 bltz $2,$L42 nop bne $16,$0,$L43 lui $2,%hi(info+4)$L41: lw $31,196($sp)$L47: lw $18,192($sp) lw $17,188($sp) lw $16,184($sp) j $31 addiu $sp,$sp,200$L43: lw $7,%lo(info+4)($2) lui $6,%hi($LC7) lui $2,%hi($LC12) addiu $2,$2,%lo($LC12) addiu $6,$6,%lo($LC7) li $4,3 # 0x3 li $5,4 # 0x4 sw $18,16($sp) jal mp_msg sw $2,20($sp) lw $31,196($sp) lw $18,192($sp) lw $17,188($sp) lw $16,184($sp) j $31 addiu $sp,$sp,200$L42: jal __errno_location nop lw $4,0($2) move $17,$2 li $2,17 # 0x11 beq $4,$2,$L44 lui $16,%hi(info) addiu $16,$16,%lo(info) jal strerror lw $17,4($16) sw $2,20($sp) lui $6,%hi($LC1) lui $2,%hi($LC2) move $7,$17 addiu $2,$2,%lo($LC2) addiu $6,$6,%lo($LC1) li $4,3 # 0x3 li $5,1 # 0x1 jal mp_msg sw $2,16($sp) lw $7,4($16) lui $6,%hi($LC7) lui $2,%hi($LC11) addiu $2,$2,%lo($LC11) addiu $6,$6,%lo($LC7) li $4,3 # 0x3 li $5,1 # 0x1 sw $18,16($sp) jal mp_msg sw $2,20($sp) lui $4,%hi($LC5) jal exit_player addiu $4,$4,%lo($LC5) j $L47 lw $31,196($sp)$L44: li $4,3 # 0x3 move $5,$18 jal __xstat64 addiu $6,$sp,24 bltz $2,$L45 lui $16,%hi(info) lw $4,48($sp)$L49: li $2,16384 # 0x4000 andi $3,$4,0xf000 beq $3,$2,$L25 lui $2,%hi(info+4) lw $7,%lo(info+4)($2) lui $6,%hi($LC3) lui $2,%hi($LC6) addiu $2,$2,%lo($LC6) addiu $6,$6,%lo($LC3) li $4,3 # 0x3 li $5,1 # 0x1 sw $2,20($sp) jal mp_msg sw $18,16($sp) lui $4,%hi($LC5) jal exit_player addiu $4,$4,%lo($LC5) lw $4,48($sp)$L25: andi $2,$4,0x80 beq $2,$0,$L46 lui $2,%hi(info+4) lui $16,%hi($LC9)$L48: jal strlen addiu $4,$16,%lo($LC9) move $6,$2 sltu $2,$2,4 beq $2,$0,$L29 lbu $3,%lo($LC9)($16) lbu $2,0($18) addiu $5,$16,%lo($LC9) beq $6,$0,$L31 subu $2,$2,$3 bne $2,$0,$L33 sltu $4,$6,2 lbu $2,1($18) lbu $3,1($5) bne $4,$0,$L31 subu $2,$2,$3 bne $2,$0,$L33 li $4,2 # 0x2 lbu $2,2($18) lbu $3,2($5) beq $6,$4,$L31 subu $2,$2,$3 bne $2,$0,$L50 lui $2,%hi(info+4) lbu $3,3($5) lbu $2,3($18) subu $2,$2,$3$L31: beq $2,$0,$L41 nop$L33: lui $2,%hi(info+4)$L50: lw $7,%lo(info+4)($2) lui $6,%hi($LC7) lui $2,%hi($LC10) addiu $2,$2,%lo($LC10) addiu $6,$6,%lo($LC7) li $4,3 # 0x3 li $5,4 # 0x4 sw $18,16($sp) jal mp_msg sw $2,20($sp) j $L47 lw $31,196($sp)$L29: addiu $5,$16,%lo($LC9) jal strcmp move $4,$18 j $L31 nop$L46: lw $7,%lo(info+4)($2) lui $6,%hi($LC7) lui $2,%hi($LC8) addiu $2,$2,%lo($LC8) addiu $6,$6,%lo($LC7) li $4,3 # 0x3 li $5,1 # 0x1 sw $2,20($sp) jal mp_msg sw $18,16($sp) lui $4,%hi($LC5) jal exit_player addiu $4,$4,%lo($LC5) j $L48 lui $16,%hi($LC9)$L45: lw $4,0($17) addiu $16,$16,%lo(info) jal strerror lw $17,4($16) sw $2,20($sp) lui $6,%hi($LC1) lui $2,%hi($LC2) move $7,$17 addiu $2,$2,%lo($LC2) addiu $6,$6,%lo($LC1) li $4,3 # 0x3 li $5,1 # 0x1 jal mp_msg sw $2,16($sp) lw $7,4($16) lui $6,%hi($LC3) lui $2,%hi($LC4) addiu $2,$2,%lo($LC4) addiu $6,$6,%lo($LC3) li $4,3 # 0x3 li $5,1 # 0x1 sw $2,16($sp) jal mp_msg sw $18,20($sp) lui $4,%hi($LC5) jal exit_player addiu $4,$4,%lo($LC5) j $L49 lw $4,48($sp) .set macro .set reorder .end pnm_mkdir .section .rodata.str1.4 .align 2$LC13: .ascii "%s\000" .align 2$LC14: .ascii "ppm\000" .align 2$LC15: .ascii "pgm\000" .align 2$LC16: .ascii "pgmyuv\000" .section .text.config,"ax",@progbits .align 2 .align 5 .ent config .type config, @functionconfig: .frame $sp,536,$31 # vars= 512, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-536 sw $16,528($sp) sw $31,532($sp) lui $2,%hi(vo_config_count) lw $3,%lo(vo_config_count)($2) addiu $16,$sp,16 lui $6,%hi($LC13) addiu $6,$6,%lo($LC13) move $4,$16 blez $3,$L61 li $5,512 # 0x200$L52: lw $31,532($sp) lw $16,528($sp) move $2,$0 j $31 addiu $sp,$sp,536$L61: lui $2,%hi(pnm_outdir) jal snprintf lw $7,%lo(pnm_outdir)($2) move $4,$16 jal pnm_mkdir li $5,1 # 0x1 lui $2,%hi(pnm_type) lw $3,%lo(pnm_type)($2) lui $4,%hi($LC14) beq $3,$0,$L60 addiu $4,$4,%lo($LC14) lui $4,%hi($LC15) li $2,1 # 0x1 beq $3,$2,$L60 addiu $4,$4,%lo($LC15) lui $4,%hi($LC16) li $2,2 # 0x2 bne $3,$2,$L52 addiu $4,$4,%lo($LC16)$L60: jal uc_strdup nop lui $3,%hi(pnm_file_extension) sw $2,%lo(pnm_file_extension)($3) lw $31,532($sp) lw $16,528($sp) move $2,$0 j $31 addiu $sp,$sp,536 .set macro .set reorder .end config .section .rodata.str1.4 .align 2$LC17: .ascii "raw\000" .align 2$LC18: .ascii "ascii\000" .align 2$LC19: .ascii "outdir\000" .align 2$LC20: .ascii "subdirs\000" .align 2$LC21: .ascii "maxfiles\000" .align 2$LC22: .ascii "%s: %s\012\000" .align 2$LC23: .ascii "Parsing suboptions.\000" .align 2$LC24: .ascii "ASCII mode enabled.\000" .align 2$LC25: .ascii "Raw mode enabled.\000" .align 2$LC26: .ascii "Will write PGMYUV files.\000" .align 2$LC27: .ascii "Will write PPM files.\000" .align 2$LC28: .ascii "Will write PGM files.\000" .align 2$LC29: .ascii "Suboptions parsed OK.\000" .section .text.preinit,"ax",@progbits .align 2 .align 5 .ent preinit .type preinit, @functionpreinit: .frame $sp,256,$31 # vars= 200, regs= 8/0, args= 24, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro lui $2,%hi($LC14) addiu $sp,$sp,-256 addiu $2,$2,%lo($LC14) sw $2,44($sp) lui $2,%hi($LC15) addiu $2,$2,%lo($LC15) sw $2,64($sp) lui $2,%hi($LC16) addiu $2,$2,%lo($LC16) sw $2,84($sp) lui $2,%hi($LC17) addiu $2,$2,%lo($LC17) sw $2,104($sp) lui $2,%hi($LC18) addiu $3,$sp,24 addiu $2,$2,%lo($LC18) sw $3,52($sp) sw $2,124($sp) addiu $3,$sp,28 lui $2,%hi($LC19) sw $3,72($sp) addiu $2,$2,%lo($LC19) addiu $3,$sp,32 sw $22,248($sp) sw $19,236($sp) sw $3,92($sp) lui $19,%hi(pnm_outdir) addiu $3,$sp,36 sw $2,144($sp) lui $22,%hi(info) lui $2,%hi($LC20) li $9,3 # 0x3 addiu $5,$19,%lo(pnm_outdir) addiu $6,$22,%lo(info) sw $3,112($sp) addiu $2,$2,%lo($LC20) addiu $3,$sp,40 sw $31,252($sp) sw $9,148($sp) sw $21,244($sp) sw $20,240($sp) sw $18,232($sp) sw $17,228($sp) sw $16,224($sp) sw $3,132($sp) sw $5,152($sp) lui $17,%hi(pnm_subdirs) sw $0,24($sp) sw $0,28($sp) sw $0,32($sp) sw $0,36($sp) sw $0,40($sp) sw $0,48($sp) sw $0,56($sp) sw $0,60($sp) sw $0,68($sp) sw $0,76($sp) sw $0,80($sp) sw $0,88($sp) sw $0,96($sp) lw $7,4($6) sw $2,164($sp) lui $2,%hi($LC21) addiu $3,$17,%lo(pnm_subdirs) addiu $2,$2,%lo($LC21) lui $16,%hi(pnm_maxfiles) sw $3,172($sp) sw $2,184($sp) lui $21,%hi($LC22) lui $2,%hi(int_pos) lui $3,%hi($LC23) li $5,4 # 0x4 addiu $8,$16,%lo(pnm_maxfiles) addiu $2,$2,%lo(int_pos) addiu $3,$3,%lo($LC23) move $18,$4 addiu $6,$21,%lo($LC22) li $4,3 # 0x3 li $20,1 # 0x1 sw $9,168($sp) sw $8,192($sp) sw $2,196($sp) sw $3,16($sp) sw $0,100($sp) sw $0,108($sp) sw $0,116($sp) sw $0,120($sp) sw $0,128($sp) sw $0,136($sp) sw $0,140($sp) sw $0,156($sp) sw $0,160($sp) sw $0,176($sp) sw $0,180($sp) sw $20,188($sp) sw $0,200($sp) sw $0,204($sp) sw $0,208($sp) sw $0,212($sp) sw $0,216($sp) jal mp_msg sw $0,220($sp) lui $4,%hi($LC9) addiu $4,$4,%lo($LC9) li $2,1000 # 0x3e8 jal uc_strdup sw $2,%lo(pnm_maxfiles)($16) move $4,$18 addiu $5,$sp,44 sw $2,%lo(pnm_outdir)($19) jal subopt_parse sw $0,%lo(pnm_subdirs)($17) bne $2,$0,$L86 lw $2,32($sp) lui $16,%hi(pnm_type) lui $6,%hi(pnm_mode) sw $0,%lo(pnm_type)($16) bne $2,$0,$L87 sw $20,%lo(pnm_mode)($6) lw $4,%lo(pnm_type)($16) lw $2,28($sp) lw $3,24($sp) lw $5,%lo(pnm_mode)($6) movn $4,$20,$2 lw $2,40($sp) movn $4,$0,$3 move $3,$0 movz $3,$5,$2 lw $2,36($sp) sw $4,%lo(pnm_type)($16) bne $2,$0,$L88 sw $3,%lo(pnm_mode)($6)$L74: beq $3,$0,$L78 lui $2,%hi($LC24) beq $3,$20,$L76 addiu $2,$22,%lo(info) lw $7,4($2) move $17,$0 li $4,3 # 0x3 li $5,4 # 0x4 addiu $6,$21,%lo($LC22) jal mp_msg sw $17,16($sp) lw $3,%lo(pnm_type)($16) li $2,1 # 0x1 bne $3,$2,$L90 li $2,2 # 0x2$L82: lui $2,%hi($LC28) addiu $17,$2,%lo($LC28)$L80: addiu $16,$22,%lo(info)$L91: lw $7,4($16) addiu $6,$21,%lo($LC22) li $4,3 # 0x3 li $5,4 # 0x4 jal mp_msg sw $17,16($sp) lw $7,4($16) lui $2,%hi($LC29) addiu $2,$2,%lo($LC29) addiu $6,$21,%lo($LC22) li $4,3 # 0x3 li $5,4 # 0x4 jal mp_msg sw $2,16($sp) lw $31,252($sp) lw $22,248($sp) lw $21,244($sp) lw $20,240($sp) lw $19,236($sp) lw $18,232($sp) lw $17,228($sp) lw $16,224($sp) move $2,$0 j $31 addiu $sp,$sp,256$L88: sw $20,%lo(pnm_mode)($6)$L76: lui $2,%hi($LC25) addiu $17,$2,%lo($LC25)$L79: addiu $2,$22,%lo(info) lw $7,4($2) li $4,3 # 0x3 li $5,4 # 0x4 addiu $6,$21,%lo($LC22) jal mp_msg sw $17,16($sp) lw $3,%lo(pnm_type)($16) li $2,1 # 0x1 beq $3,$2,$L82 li $2,2 # 0x2$L90: beq $3,$2,$L83 lui $2,%hi($LC26)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?