vo_pnm.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 1,598 行 · 第 1/2 页
S
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 nomacroj $31move $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 nomacroj $31nop.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 nomacroj $31nop.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 nomacroj $31nop.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 nomacroaddiu $sp,$sp,-32sw $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,$L10move $4,$2jal uc_freenopsw $0,%lo(pnm_subdirs)($16)$L10:lw $2,%lo(pnm_outdir)($17)beq $2,$0,$L14move $4,$2jal uc_freenopsw $0,%lo(pnm_outdir)($17)$L14:lw $31,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $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 nomacroaddiu $sp,$sp,-24sw $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 # 0x3jal mp_msgli $5,6 # 0x6lw $31,16($sp)li $2,-1 # 0xffffffffffffffffj $31addiu $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 nomacroaddiu $sp,$sp,-200sw $18,192($sp)sw $16,184($sp)sw $31,196($sp)sw $17,188($sp)move $16,$5jal FS_MkDirmove $18,$4bltz $2,$L42nopbne $16,$0,$L43lui $2,%hi(info+4)$L41:lw $31,196($sp)$L47:lw $18,192($sp)lw $17,188($sp)lw $16,184($sp)j $31addiu $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 # 0x3li $5,4 # 0x4sw $18,16($sp)jal mp_msgsw $2,20($sp)lw $31,196($sp)lw $18,192($sp)lw $17,188($sp)lw $16,184($sp)j $31addiu $sp,$sp,200$L42:jal __errno_locationnoplw $4,0($2)move $17,$2li $2,17 # 0x11beq $4,$2,$L44lui $16,%hi(info)addiu $16,$16,%lo(info)jal strerrorlw $17,4($16)sw $2,20($sp)lui $6,%hi($LC1)lui $2,%hi($LC2)move $7,$17addiu $2,$2,%lo($LC2)addiu $6,$6,%lo($LC1)li $4,3 # 0x3li $5,1 # 0x1jal mp_msgsw $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 # 0x3li $5,1 # 0x1sw $18,16($sp)jal mp_msgsw $2,20($sp)lui $4,%hi($LC5)jal exit_playeraddiu $4,$4,%lo($LC5)j $L47lw $31,196($sp)$L44:li $4,3 # 0x3move $5,$18jal __xstat64addiu $6,$sp,24bltz $2,$L45lui $16,%hi(info)lw $4,48($sp)$L49:li $2,16384 # 0x4000andi $3,$4,0xf000beq $3,$2,$L25lui $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 # 0x3li $5,1 # 0x1sw $2,20($sp)jal mp_msgsw $18,16($sp)lui $4,%hi($LC5)jal exit_playeraddiu $4,$4,%lo($LC5)lw $4,48($sp)$L25:andi $2,$4,0x80beq $2,$0,$L46lui $2,%hi(info+4)lui $16,%hi($LC9)$L48:jal strlenaddiu $4,$16,%lo($LC9)move $6,$2sltu $2,$2,4beq $2,$0,$L29lbu $3,%lo($LC9)($16)lbu $2,0($18)addiu $5,$16,%lo($LC9)beq $6,$0,$L31subu $2,$2,$3bne $2,$0,$L33sltu $4,$6,2lbu $2,1($18)lbu $3,1($5)bne $4,$0,$L31subu $2,$2,$3bne $2,$0,$L33li $4,2 # 0x2lbu $2,2($18)lbu $3,2($5)beq $6,$4,$L31subu $2,$2,$3bne $2,$0,$L50lui $2,%hi(info+4)lbu $3,3($5)lbu $2,3($18)subu $2,$2,$3$L31:beq $2,$0,$L41nop$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 # 0x3li $5,4 # 0x4sw $18,16($sp)jal mp_msgsw $2,20($sp)j $L47lw $31,196($sp)$L29:addiu $5,$16,%lo($LC9)jal strcmpmove $4,$18j $L31nop$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 # 0x3li $5,1 # 0x1sw $2,20($sp)jal mp_msgsw $18,16($sp)lui $4,%hi($LC5)jal exit_playeraddiu $4,$4,%lo($LC5)j $L48lui $16,%hi($LC9)$L45:lw $4,0($17)addiu $16,$16,%lo(info)jal strerrorlw $17,4($16)sw $2,20($sp)lui $6,%hi($LC1)lui $2,%hi($LC2)move $7,$17addiu $2,$2,%lo($LC2)addiu $6,$6,%lo($LC1)li $4,3 # 0x3li $5,1 # 0x1jal mp_msgsw $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 # 0x3li $5,1 # 0x1sw $2,16($sp)jal mp_msgsw $18,20($sp)lui $4,%hi($LC5)jal exit_playeraddiu $4,$4,%lo($LC5)j $L49lw $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 nomacroaddiu $sp,$sp,-536sw $16,528($sp)sw $31,532($sp)lui $2,%hi(vo_config_count)lw $3,%lo(vo_config_count)($2)addiu $16,$sp,16lui $6,%hi($LC13)addiu $6,$6,%lo($LC13)move $4,$16blez $3,$L61li $5,512 # 0x200$L52:lw $31,532($sp)lw $16,528($sp)move $2,$0j $31addiu $sp,$sp,536$L61:lui $2,%hi(pnm_outdir)jal snprintflw $7,%lo(pnm_outdir)($2)move $4,$16jal pnm_mkdirli $5,1 # 0x1lui $2,%hi(pnm_type)lw $3,%lo(pnm_type)($2)lui $4,%hi($LC14)beq $3,$0,$L60addiu $4,$4,%lo($LC14)lui $4,%hi($LC15)li $2,1 # 0x1beq $3,$2,$L60addiu $4,$4,%lo($LC15)lui $4,%hi($LC16)li $2,2 # 0x2bne $3,$2,$L52addiu $4,$4,%lo($LC16)$L60:jal uc_strdupnoplui $3,%hi(pnm_file_extension)sw $2,%lo(pnm_file_extension)($3)lw $31,532($sp)lw $16,528($sp)move $2,$0j $31addiu $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 nomacrolui $2,%hi($LC14)addiu $sp,$sp,-256addiu $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,24addiu $2,$2,%lo($LC18)sw $3,52($sp)sw $2,124($sp)addiu $3,$sp,28lui $2,%hi($LC19)sw $3,72($sp)addiu $2,$2,%lo($LC19)addiu $3,$sp,32sw $22,248($sp)sw $19,236($sp)sw $3,92($sp)lui $19,%hi(pnm_outdir)addiu $3,$sp,36sw $2,144($sp)lui $22,%hi(info)lui $2,%hi($LC20)li $9,3 # 0x3addiu $5,$19,%lo(pnm_outdir)addiu $6,$22,%lo(info)sw $3,112($sp)addiu $2,$2,%lo($LC20)addiu $3,$sp,40sw $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 # 0x4addiu $8,$16,%lo(pnm_maxfiles)addiu $2,$2,%lo(int_pos)addiu $3,$3,%lo($LC23)move $18,$4addiu $6,$21,%lo($LC22)li $4,3 # 0x3li $20,1 # 0x1sw $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_msgsw $0,220($sp)lui $4,%hi($LC9)addiu $4,$4,%lo($LC9)li $2,1000 # 0x3e8jal uc_strdupsw $2,%lo(pnm_maxfiles)($16)move $4,$18addiu $5,$sp,44sw $2,%lo(pnm_outdir)($19)jal subopt_parsesw $0,%lo(pnm_subdirs)($17)bne $2,$0,$L86lw $2,32($sp)lui $16,%hi(pnm_type)lui $6,%hi(pnm_mode)sw $0,%lo(pnm_type)($16)bne $2,$0,$L87sw $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,$2lw $2,40($sp)movn $4,$0,$3move $3,$0movz $3,$5,$2lw $2,36($sp)sw $4,%lo(pnm_type)($16)bne $2,$0,$L88sw $3,%lo(pnm_mode)($6)$L74:beq $3,$0,$L78lui $2,%hi($LC24)beq $3,$20,$L76addiu $2,$22,%lo(info)lw $7,4($2)move $17,$0li $4,3 # 0x3li $5,4 # 0x4addiu $6,$21,%lo($LC22)jal mp_msgsw $17,16($sp)lw $3,%lo(pnm_type)($16)li $2,1 # 0x1bne $3,$2,$L90li $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 # 0x3li $5,4 # 0x4jal mp_msgsw $17,16($sp)lw $7,4($16)lui $2,%hi($LC29)addiu $2,$2,%lo($LC29)addiu $6,$21,%lo($LC22)li $4,3 # 0x3li $5,4 # 0x4jal mp_msgsw $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,$0j $31addiu $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 # 0x3li $5,4 # 0x4addiu $6,$21,%lo($LC22)jal mp_msgsw $17,16($sp)lw $3,%lo(pnm_type)($16)li $2,1 # 0x1beq $3,$2,$L82li $2,2 # 0x2$L90:beq $3,$2,$L83lui $2,%hi($LC26)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?