font_load.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 2,846 行 · 第 1/3 页
MID
2,846 行
.file 1 "font_load.c" .section .mdebug.abi32 .previous .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "rb\000" .align 2$LC1: .ascii "mhwanh\000" .align 2$LC2: .ascii "RAW: %s %d x %d, %d colors\012\000" .section .text.load_raw,"ax",@progbits .align 2 .align 5 .globl load_raw .ent load_raw .type load_raw, @functionload_raw: .frame $sp,88,$31 # vars= 32, regs= 5/0, args= 32, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-88 sw $19,76($sp) move $19,$4 li $4,20 # 0x14 sw $31,80($sp) sw $18,72($sp) sw $16,64($sp) jal uc_malloc sw $17,68($sp) lui $5,%hi($LC0) move $4,$19 addiu $5,$5,%lo($LC0) jal FS_FOpen move $16,$2 beq $2,$0,$L2 move $18,$2 addiu $17,$sp,32 move $4,$17 li $5,32 # 0x20 li $6,1 # 0x1 jal FS_FRead move $7,$2 bne $2,$0,$L16 lui $5,%hi($LC1)$L4: jal FS_FClose move $4,$18$L2: jal uc_free move $4,$16 move $16,$0 move $2,$16$L20: lw $31,80($sp) lw $19,76($sp) lw $18,72($sp) lw $17,68($sp) lw $16,64($sp) j $31 addiu $sp,$sp,88$L16: move $4,$17 addiu $5,$5,%lo($LC1) jal memcmp li $6,6 # 0x6 bne $2,$0,$L4 lbu $4,40($sp) lbu $2,41($sp) sll $4,$4,8 addu $4,$4,$2 sw $4,8($16) lbu $2,42($sp) lbu $3,43($sp) sll $2,$2,8 addu $2,$2,$3 sw $2,12($16) lbu $3,44($sp) lbu $2,45($sp) sll $3,$3,8 addu $3,$3,$2 beq $4,$0,$L17 sw $3,16($16) lw $8,16($16) slt $2,$8,257 beq $2,$0,$L4 nop lw $2,8($16)$L21: lui $6,%hi($LC2) sw $2,16($sp) lw $3,12($16) addiu $6,$6,%lo($LC2) move $7,$19 li $4,30 # 0x1e li $5,7 # 0x7 sw $3,20($sp) jal mp_msg sw $8,24($sp) lw $2,16($16) bne $2,$0,$L18 nop sw $0,4($16) li $17,3 # 0x3$L12: lw $4,12($16) lw $2,8($16) mul $4,$4,$2 jal uc_malloc mul $4,$17,$4 lw $5,12($16) lw $3,8($16) sw $2,0($16) mul $5,$5,$3 move $4,$2 mul $5,$17,$5 li $6,1 # 0x1 jal FS_FRead move $7,$18 jal FS_FClose move $4,$18 j $L20 move $2,$16$L17: lbu $2,60($sp) lbu $3,61($sp) sll $2,$2,8 addu $2,$2,$3 lbu $4,62($sp) sll $2,$2,8 lbu $3,63($sp) addu $2,$2,$4 sll $2,$2,8 lw $8,16($16) addu $2,$2,$3 sw $2,8($16) slt $2,$8,257 beq $2,$0,$L4 nop j $L21 lw $2,8($16)$L18: sll $4,$2,1 jal uc_malloc addu $4,$4,$2 lw $6,16($16) sw $2,4($16) move $4,$2 li $5,3 # 0x3 jal FS_FRead move $7,$18 j $L12 li $17,1 # 0x1 .set macro .set reorder .end load_raw .section .rodata.str1.4 .align 2$LC3: .ascii "rt\000" .align 2$LC4: .ascii "font: can't open file: %s\012\000" .align 2$LC5: .ascii "%s doesn't look like a bitmap font description, ignoring" .ascii ".\012\000" .align 2$LC6: .ascii "font: Reading section: %s\012\000" .align 2$LC7: .ascii "[files]\000" .align 2$LC8: .ascii "font: Too many bitmaps defined.\012\000" .align 2$LC9: .ascii "[fpath]\000" .align 2$LC10: .ascii "alpha\000" .align 2$LC11: .ascii "%s/%s\000" .align 2$LC12: .ascii "/usr/local/share/mplayer/font\000" .align 2$LC13: .ascii "Can't load font bitmap: %s\012\000" .align 2$LC14: .ascii "bitmap\000" .align 2$LC15: .ascii "[info]\000" .align 2$LC16: .ascii "name\000" .align 2$LC17: .ascii "descversion\000" .align 2$LC18: .ascii "spacewidth\000" .align 2$LC19: .ascii "charspace\000" .align 2$LC20: .ascii "height\000" .align 2$LC21: .ascii "[characters]\000" .align 2$LC22: .ascii "error in font desc: end<start for char '%c'\012\000" .align 2$LC23: .ascii "Syntax error in font desc: %s\000" .align 2$LC24: .ascii "%s is empty or a directory, ignoring.\012\000" .align 2$LC25: .ascii "font: Missing bitmap(s) for sub-font #%d\012\000" .globl __mulsf3 .globl __fixsfsi .globl __extendsfdf2 .align 2$LC27: .ascii "font: resampling alpha by factor %5.3f (%d) \000" .align 2$LC28: .ascii "DONE!\012\000" .align 2$LC29: .ascii "Bitmap font %s loaded successfully! (%d chars)\012\000" .section .rodata.cst4,"aM",@progbits,4 .align 2$LC26: .word 1132462080 .section .text.read_font_desc,"ax",@progbits .align 2 .align 5 .globl read_font_desc .ent read_font_desc .type read_font_desc, @functionread_font_desc: .frame $sp,2232,$31 # vars= 2160, regs= 10/0, args= 32, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-2232 sw $16,2192($sp) li $16,524288 # 0x80000 sw $4,2232($sp) ori $4,$16,0x98 sw $20,2208($sp) sw $31,2228($sp) sw $fp,2224($sp) sw $23,2220($sp) sw $22,2216($sp) sw $21,2212($sp) sw $19,2204($sp) sw $18,2200($sp) sw $17,2196($sp) sw $5,2236($sp) .set noreorder .set nomacro jal uc_malloc sw $6,2240($sp) .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L23 move $20,$2 .set macro .set reorder andi $4,$2,0x3 li $2,4 # 0x4 ori $3,$16,0x98 subu $5,$2,$4 li $2,2 # 0x2 addu $6,$20,$3 .set noreorder .set nomacro beq $5,$2,$L27 move $3,$20 .set macro .set reorder li $2,3 # 0x3 .set noreorder .set nomacro beq $5,$2,$L28 li $2,1 # 0x1 .set macro .set reorder beq $5,$2,$L300$L25: addiu $5,$3,-4 move $2,$0#APP S32I2M xr1,$2#NO_APP andi $3,$3,0x1f .set noreorder .set nomacro beq $3,$0,$L328 addiu $2,$6,-31 .set macro .set reorder li $2,-32 # 0xffffffffffffffe0 and $2,$5,$2 addiu $4,$2,32 sltu $3,$5,$4 .set noreorder .set nomacro beq $3,$0,$L328 addiu $2,$6,-31 .set macro .set reorder$L282:#APP S32SDI xr1,$5,4#NO_APP sltu $2,$5,$4 .set noreorder .set nomacro bne $2,$0,$L282 addiu $2,$6,-31 .set macro .set reorder$L328: li $3,-32 # 0xffffffffffffffe0 and $3,$2,$3 sltu $4,$5,$3 .set noreorder .set nomacro beq $4,$0,$L329 addiu $2,$6,-4 .set macro .set reorder addiu $2,$5,4$L330:#APP pref 30,0($2) S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4 S32SDI xr1,$5,4#NO_APP sltu $2,$5,$3 .set noreorder .set nomacro bne $2,$0,$L330 addiu $2,$5,4 .set macro .set reorder addiu $2,$6,-4$L329: li $3,-4 # 0xfffffffffffffffc and $3,$2,$3 sltu $4,$5,$3 beq $4,$0,$L34$L284:#APP S32SDI xr1,$5,4#NO_APP sltu $2,$5,$3 bne $2,$0,$L284$L34: andi $3,$6,0x3 li $2,2 # 0x2 .set noreorder .set nomacro beq $3,$2,$L38 addiu $4,$5,4 .set macro .set reorder li $2,3 # 0x3 .set noreorder .set nomacro beq $3,$2,$L39 li $2,1 # 0x1 .set macro .set reorder beq $3,$2,$L301$L36: lui $5,%hi($LC3) lw $4,2232($sp) .set noreorder .set nomacro jal FS_FOpen addiu $5,$5,%lo($LC3) .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L302 move $23,$2 .set macro .set reorder$L40: .set noreorder .set nomacro jal strlen lw $4,2232($sp) .set macro .set reorder addiu $4,$2,-8 .set noreorder .set nomacro jal uc_malloc addiu $17,$2,-9 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L42 move $16,$2 .set macro .set reorder lw $5,2232($sp) move $4,$2 .set noreorder .set nomacro jal strncpy move $6,$17 .set macro .set reorder addu $3,$16,$17 sb $0,0($3)$L42: li $2,2 # 0x2 li $3,12 # 0xc sw $2,12($20) li $2,131072 # 0x20000 sw $3,8($20) ori $2,$2,0x94 li $3,393216 # 0x60000 sw $16,4($20) sw $0,16($20) addu $4,$20,$2 ori $9,$3,0x94 move $5,$0 li $6,-1 li $8,-1 # 0xffffffffffffffff li $7,131072 # 0x20000$L44: addu $3,$5,$20 addu $2,$3,$9 addiu $5,$5,2 sw $8,0($4) sh $6,0($2) sh $6,148($3) .set noreorder .set nomacro bne $5,$7,$L44 addiu $4,$4,4 .set macro .set reorder li $2,-1 # 0xffffffffffffffff addiu $3,$20,-4 sw $0,2180($sp) sw $2,2176($sp) li $22,1 # 0x1 addiu $fp,$sp,128 sw $3,2184($sp) sb $0,64($sp)$L299: move $4,$fp$L322: li $5,1020 # 0x3fc .set noreorder .set nomacro jal fgets move $6,$23 .set macro .set reorder beq $2,$0,$L303$L47: .set noreorder .set nomacro beq $22,$0,$L48 sb $0,1148($sp) .set macro .set reorder lbu $3,128($sp) beq $3,$0,$L50 lbu $4,129($sp) li $5,1 # 0x1 beq $4,$5,$L50 li $2,77 # 0x4d .set noreorder .set nomacro beq $3,$2,$L304 li $2,31 # 0x1f .set macro .set reorder .set noreorder .set nomacro beq $3,$2,$L305 li $2,139 # 0x8b .set macro .set reorder .set noreorder .set nomacro beq $3,$5,$L306 li $2,102 # 0x66 .set macro .set reorder$L55: move $22,$0$L48: addiu $17,$sp,1152 li $18,1 # 0x1 move $3,$fp move $4,$17 li $9,32 # 0x20 move $5,$0 li $7,13 # 0xd li $6,10 # 0xa li $10,39 # 0x27 li $11,34 # 0x22 li $15,59 # 0x3b li $13,35 # 0x23 li $14,9 # 0x9 li $12,32 # 0x20 addiu $8,$sp,36 sw $17,32($sp)$L298: lbu $2,0($3) .set noreorder .set nomacro beq $2,$0,$L62 addiu $3,$3,1 .set macro .set reorder$L307: beq $2,$7,$L62 beq $2,$6,$L62 bne $5,$0,$L66 beq $2,$10,$L61 beq $2,$11,$L61 beq $2,$15,$L62 beq $2,$13,$L62 beq $2,$14,$L72 beq $2,$12,$L72$L74: sb $2,0($4) move $9,$2 lbu $2,0($3) addiu $4,$4,1 .set noreorder .set nomacro bne $2,$0,$L307 addiu $3,$3,1 .set macro .set reorder$L62: .set noreorder .set nomacro beq $17,$4,$L299 li $2,1 # 0x1 .set macro .set reorder .set noreorder .set nomacro bne $18,$2,$L78 sb $0,0($4) .set macro .set reorder lw $16,32($sp) li $2,91 # 0x5b lbu $3,0($16) beq $3,$2,$L308$L78: lui $16,%hi($LC9) .set noreorder .set nomacro jal strlen addiu $4,$16,%lo($LC9) .set macro .set reorder move $6,$2 sltu $2,$2,4 .set noreorder .set nomacro beq $2,$0,$L95 lbu $3,%lo($LC9)($16) .set macro .set reorder lbu $2,64($sp) addiu $5,$16,%lo($LC9) .set noreorder .set nomacro beq $6,$0,$L97 subu $2,$2,$3 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L99 lbu $2,65($sp) .set macro .set reorder lbu $3,1($5) sltu $4,$6,2 .set noreorder .set nomacro bne $4,$0,$L97 subu $2,$2,$3 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L99 lbu $3,66($sp) .set macro .set reorder lbu $2,2($5) subu $2,$3,$2 li $3,2 # 0x2 beq $6,$3,$L97 .set noreorder .set nomacro bne $2,$0,$L331 lui $16,%hi($LC7) .set macro .set reorder lbu $3,3($5) lbu $2,67($sp) subu $2,$2,$3$L97: .set noreorder .set nomacro bne $2,$0,$L331 lui $16,%hi($LC7) .set macro .set reorder li $2,1 # 0x1 .set noreorder .set nomacro bne $18,$2,$L332 lui $6,%hi($LC23) .set macro .set reorder lw $4,4($20) beq $4,$0,$L108 jal uc_free$L108: .set noreorder .set nomacro jal uc_strdup lw $4,32($sp) .set macro .set reorder sw $2,4($20) move $4,$fp li $5,1020 # 0x3fc .set noreorder .set nomacro jal fgets move $6,$23 .set macro .set reorder bne $2,$0,$L47$L303: .set noreorder .set nomacro jal FS_FClose move $4,$23 .set macro .set reorder li $2,1 # 0x1 .set noreorder .set nomacro beq $22,$2,$L238 lui $6,%hi($LC24) .set macro .set reorder lw $2,2176($sp) bltz $2,$L240 lw $17,20($20) .set noreorder .set nomacro beq $17,$0,$L246 move $19,$0 .set macro .set reorder lw $2,84($20) .set noreorder .set nomacro beq $2,$0,$L246 lui $2,%hi($LC26) .set macro .set reorder lw $5,%lo($LC26)($2) lw $4,2236($sp) .set noreorder .set nomacro jal __mulsf3 move $16,$20 .set macro .set reorder .set noreorder .set nomacro jal __fixsfsi move $4,$2 .set macro .set reorder lw $4,2236($sp) .set noreorder .set nomacro jal __extendsfdf2 move $18,$2 .set macro .set reorder move $22,$2 move $23,$3 move $19,$0 lui $21,%hi($LC27) lui $fp,%hi($LC28)$L248: lw $3,12($17) lw $2,8($17) li $4,30 # 0x1e mul $17,$2,$3 li $5,7 # 0x7 addiu $6,$21,%lo($LC27) sw $22,16($sp) sw $23,20($sp) .set noreorder .set nomacro jal mp_msg sw $18,24($sp) .set macro .set reorder .set noreorder .set nomacro blez $17,$L249 move $6,$0 .set macro .set reorder li $7,255 # 0xff$L251: lw $3,20($16) lw $4,84($16) lw $5,0($3) lw $2,0($4) addu $5,$6,$5 lbu $3,0($5) addu $2,$2,$6 mul $3,$3,$18 lbu $4,0($2) sra $3,$3,8 subu $3,$7,$3 addu $2,$4,$3 slt $2,$2,256 subu $4,$7,$4 movz $3,$4,$2 slt $2,$3,252 .set noreorder .set nomacro blez $3,$L256 li $4,1 # 0x1 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L256 move $4,$0 .set macro .set reorder andi $4,$3,0x00ff$L256: addiu $6,$6,1 .set noreorder .set nomacro bne $17,$6,$L251 sb $4,0($5) .set macro .set reorder$L249: li $4,30 # 0x1e li $5,7 # 0x7 .set noreorder .set nomacro jal mp_msg addiu $6,$fp,%lo($LC28) .set macro .set reorder lw $2,16($20) .set noreorder .set nomacro bne $2,$0,$L333 lw $3,2176($sp) .set macro .set reorder lw $2,20($16) lw $3,12($2) sw $3,16($20) lw $3,2176($sp)$L333: addiu $19,$19,1 slt $2,$3,$19 bne $2,$0,$L240 lw $17,24($16) .set noreorder .set nomacro beq $17,$0,$L334 lui $6,%hi($LC25) .set macro .set reorder lw $2,88($16) .set noreorder .set nomacro bne $2,$0,$L248 addiu $16,$16,4 .set macro .set reorder$L246: lui $6,%hi($LC25)$L334: addiu $6,$6,%lo($LC25) move $7,$19 li $4,30 # 0x1e .set noreorder .set nomacro jal mp_msg li $5,1 # 0x1 .set macro .set reorder$L23: lw $4,4($20)$L321: beq $4,$0,$L269 jal uc_free$L269: lw $4,0($20) beq $4,$0,$L271 jal uc_free$L271: move $4,$20 .set noreorder .set nomacro jal uc_free move $20,$0 .set macro .set reorder move $2,$20 lw $31,2228($sp) lw $fp,2224($sp) lw $23,2220($sp) lw $22,2216($sp) lw $21,2212($sp) lw $20,2208($sp) lw $19,2204($sp) lw $18,2200($sp)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?