sub.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 4,606 行 · 第 1/4 页
S
4,606 行
.file 1 "sub.c".section .mdebug.abi32.previous.section .text.utf8_get_char,"ax",@progbits.align 2.align 5.globl utf8_get_char.ent utf8_get_char.type utf8_get_char, @functionutf8_get_char:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolw $7,0($4)move $10,$4lbu $8,0($7)move $4,$0xori $3,$8,0xffandi $2,$3,0xff00beq $2,$0,$L5addiu $9,$7,1srl $3,$3,8addiu $4,$4,8$L5:lui $2,%hi(ff_log2_tab)addiu $2,$2,%lo(ff_log2_tab)addu $2,$3,$2lbu $3,0($2)li $2,7 # 0x7addu $3,$4,$3subu $5,$2,$3li $4,1 # 0x1beq $5,$4,$L7addiu $3,$5,-1li $2,127 # 0x7fsra $2,$2,$5blez $3,$L19and $6,$8,$2lbu $2,0($9)addiu $4,$2,-128sra $3,$4,6bne $3,$0,$L7addu $7,$7,$5j $L13addiu $5,$9,1$L14:lbu $3,0($5)addiu $4,$3,-128sra $2,$4,6bne $2,$0,$L7addiu $5,$5,1$L13:sll $2,$6,6bne $7,$5,$L14addu $6,$2,$4move $8,$6sw $5,0($10)$L20:j $31move $2,$8$L7:move $2,$8j $31sw $9,0($10)$L19:move $5,$9move $8,$6j $L20sw $5,0($10).set macro.set reorder.end utf8_get_char.section .text.vo_osd_changed,"ax",@progbits.align 2.align 5.globl vo_osd_changed.ent vo_osd_changed.type vo_osd_changed, @functionvo_osd_changed:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolui $2,%hi(vo_osd_list)lw $3,%lo(vo_osd_list)($2)lui $2,%hi(vo_osd_changed_status)lw $5,%lo(vo_osd_changed_status)($2)bne $3,$0,$L27sw $4,%lo(vo_osd_changed_status)($2)j $31move $2,$5$L24:lw $3,0($3)beq $3,$0,$L29move $2,$5$L27:lbu $2,4($3)bne $4,$2,$L24noplhu $2,6($3)ori $2,$2,0x10sh $2,6($3)lw $3,0($3)bne $3,$0,$L27move $2,$5$L29:j $31nop.set macro.set reorder.end vo_osd_changed.section .text.vo_osd_check_range_update,"ax",@progbits.align 2.align 5.globl vo_osd_check_range_update.ent vo_osd_check_range_update.type vo_osd_check_range_update, @functionvo_osd_check_range_update:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolui $2,%hi(vo_osd_list)lw $3,%lo(vo_osd_list)($2)beq $3,$0,$L31nop$L43:lhu $2,6($3)andi $2,$2,0x1beq $2,$0,$L33noplw $8,24($3)slt $2,$6,$8bne $2,$0,$L33noplw $10,32($3)slt $2,$10,$4bne $2,$0,$L33noplw $9,28($3)slt $2,$7,$9bne $2,$0,$L33noplw $2,36($3)slt $9,$9,$2slt $2,$2,$5bne $2,$0,$L33nopbne $9,$0,$L45slt $2,$8,$10$L33:lw $3,0($3)bne $3,$0,$L43nop$L31:j $31move $2,$0$L45:beq $2,$0,$L33li $2,1 # 0x1j $31nop.set macro.set reorder.end vo_osd_check_range_update.section .text.free_osd_list,"ax",@progbits.align 2.align 5.globl free_osd_list.ent free_osd_list.type free_osd_list, @functionfree_osd_list:.frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0.mask 0x80070000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-32sw $18,24($sp)lui $18,%hi(vo_osd_list)sw $16,16($sp)lw $16,%lo(vo_osd_list)($18)sw $31,28($sp)beq $16,$0,$L47sw $17,20($sp)$L54:lw $2,6540($16)lw $17,0($16)beq $2,$0,$L49move $4,$2jal uc_freenop$L49:lw $2,6544($16)beq $2,$0,$L51move $4,$2jal uc_freenop$L51:jal uc_freemove $4,$16bne $17,$0,$L54move $16,$17$L47:sw $0,%lo(vo_osd_list)($18)lw $31,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,32.set macro.set reorder.end free_osd_list.section .text.alloc_buf,"ax",@progbits.align 2.align 5.ent alloc_buf.type alloc_buf, @functionalloc_buf:.frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0.mask 0x80030000,-8.fmask 0x00000000,0addiu $sp,$sp,-32sw $16,16($sp)sw $31,24($sp)sw $17,20($sp)lw $6,24($4)lw $3,32($4)slt $2,$3,$6.set noreorder.set nomacrobeq $2,$0,$L57move $16,$4.set macro.set reordersw $6,32($4)move $3,$6$L57:lw $5,28($16)lw $4,36($16)slt $2,$4,$5beq $2,$0,$L59sw $5,36($16)move $4,$5$L59:subu $3,$3,$6li $2,-8 # 0xfffffffffffffff8addiu $3,$3,7and $3,$3,$2subu $4,$4,$5mul $17,$3,$4lw $2,6536($16)slt $2,$2,$17.set noreorder.set nomacrobne $2,$0,$L111sw $3,6532($16).set macro.set reorder$L63:lui $2,%hi(sub_bg_color)sltu $3,$17,40lbu $7,%lo(sub_bg_color)($2).set noreorder.set nomacrobne $3,$0,$L112lw $6,6544($16).set macro.set reorderandi $2,$6,0x3li $3,4 # 0x4subu $3,$3,$2li $2,2 # 0x2.set noreorder.set nomacrobeq $3,$2,$L68move $4,$6.set macro.set reorderli $2,3 # 0x3.set noreorder.set nomacrobeq $3,$2,$L69li $2,1 # 0x1.set macro.set reorderbeq $3,$2,$L113$L66:sll $3,$7,8sll $5,$7,16sll $2,$7,24or $5,$5,$2or $3,$7,$3or $3,$3,$5addiu $5,$4,-4#APP.word 0b01110000000000110000000001101111 #S32I2M XR1,$3#NO_APPandi $4,$4,0x1f.set noreorder.set nomacrobeq $4,$0,$L70li $2,-32 # 0xffffffffffffffe0.set macro.set reorderand $2,$5,$2addiu $4,$2,32sltu $3,$5,$4beq $3,$0,$L70$L99:#APP.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4#NO_APPsltu $2,$5,$4bne $2,$0,$L99$L70:addu $6,$6,$17addiu $2,$6,-31li $3,-32 # 0xffffffffffffffe0and $3,$2,$3sltu $4,$5,$3.set noreorder.set nomacrobeq $4,$0,$L117addiu $2,$6,-4.set macro.set reorderaddiu $2,$5,4$L118:#APPpref 30,0($2).word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4#NO_APPsltu $2,$5,$3.set noreorder.set nomacrobne $2,$0,$L118addiu $2,$5,4.set macro.set reorderaddiu $2,$6,-4$L117:li $3,-4 # 0xfffffffffffffffcand $3,$2,$3sltu $4,$5,$3.set noreorder.set nomacrobeq $4,$0,$L119andi $4,$6,0x3.set macro.set reorder$L101:#APP.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4#NO_APPsltu $2,$5,$3.set noreorder.set nomacrobne $2,$0,$L101andi $4,$6,0x3.set macro.set reorder$L119:li $2,2 # 0x2.set noreorder.set nomacrobeq $4,$2,$L79addiu $3,$5,4.set macro.set reorderli $2,3 # 0x3.set noreorder.set nomacrobeq $4,$2,$L80li $2,1 # 0x1.set macro.set reorderbeq $4,$2,$L114$L77:lw $4,6540($16)lui $2,%hi(sub_bg_alpha)lbu $8,%lo(sub_bg_alpha)($2)li $3,4 # 0x4andi $2,$4,0x3subu $3,$3,$2li $2,2 # 0x2addu $6,$4,$17.set noreorder.set nomacrobeq $3,$2,$L85move $7,$4.set macro.set reorderli $2,3 # 0x3.set noreorder.set nomacrobeq $3,$2,$L86li $2,1 # 0x1.set macro.set reorderbeq $3,$2,$L115$L83:sll $3,$8,8sll $5,$8,16sll $2,$8,24or $5,$5,$2or $3,$8,$3move $4,$7or $3,$3,$5addiu $7,$7,-4#APP.word 0b01110000000000110000000001101111 #S32I2M XR1,$3#NO_APPandi $4,$4,0x1f.set noreorder.set nomacrobeq $4,$0,$L120addiu $2,$6,-31.set macro.set reorderli $2,-32 # 0xffffffffffffffe0and $2,$7,$2addiu $4,$2,32sltu $3,$7,$4.set noreorder.set nomacrobeq $3,$0,$L120addiu $2,$6,-31.set macro.set reorder$L102:#APP.word 0b01110000111000000000010001010101 #S32SDI XR1,$7,4#NO_APPsltu $2,$7,$4.set noreorder.set nomacrobne $2,$0,$L102addiu $2,$6,-31.set macro.set reorder$L120:li $3,-32 # 0xffffffffffffffe0and $3,$2,$3sltu $4,$7,$3.set noreorder.set nomacrobeq $4,$0,$L121addiu $2,$6,-4.set macro.set reorderaddiu $2,$7,4$L122:#APPpref 30,0($2).word 0b01110000111000000000010001010101 #S32SDI XR1,$7,4.word 0b01110000111000000000010001010101 #S32SDI XR1,$7,4.word 0b01110000111000000000010001010101 #S32SDI XR1,$7,4.word 0b01110000111000000000010001010101 #S32SDI XR1,$7,4.word 0b01110000111000000000010001010101 #S32SDI XR1,$7,4.word 0b01110000111000000000010001010101 #S32SDI XR1,$7,4.word 0b01110000111000000000010001010101 #S32SDI XR1,$7,4.word 0b01110000111000000000010001010101 #S32SDI XR1,$7,4#NO_APPsltu $2,$7,$3.set noreorder.set nomacrobne $2,$0,$L122addiu $2,$7,4.set macro.set reorderaddiu $2,$6,-4$L121:li $3,-4 # 0xfffffffffffffffcand $3,$2,$3sltu $4,$7,$3beq $4,$0,$L92$L104:#APP.word 0b01110000111000000000010001010101 #S32SDI XR1,$7,4#NO_APPsltu $2,$7,$3bne $2,$0,$L104$L92:andi $3,$6,0x3li $2,2 # 0x2.set noreorder.set nomacrobeq $3,$2,$L96addiu $4,$7,4.set macro.set reorderli $2,3 # 0x3.set noreorder.set nomacrobeq $3,$2,$L97li $2,1 # 0x1.set macro.set reorder.set noreorder.set nomacrobeq $3,$2,$L116lw $31,24($sp).set macro.set reorderlw $17,20($sp)lw $16,16($sp).set noreorder.set nomacroj $31addiu $sp,$sp,32.set macro.set reorder$L68:addiu $4,$6,2sb $7,0($6).set noreorder.set nomacroj $L66sb $7,1($6).set macro.set reorder$L112:move $4,$6move $5,$7.set noreorder.set nomacrojal memsetmove $6,$17.set macro.set reorderlui $2,%hi(sub_bg_alpha)lw $4,6540($16)lbu $5,%lo(sub_bg_alpha)($2)move $6,$17lw $31,24($sp)lw $17,20($sp)lw $16,16($sp).set noreorder.set nomacroj memsetaddiu $sp,$sp,32.set macro.set reorder$L111:lw $4,6544($16).set noreorder.set nomacrojal uc_freesw $17,6536($16).set macro.set reorder.set noreorder.set nomacrojal uc_freelw $4,6540($16).set macro.set reorderli $4,32 # 0x20.set noreorder.set nomacrojal uc_memalignmove $5,$17.set macro.set reordersw $2,6544($16)li $4,32 # 0x20.set noreorder.set nomacrojal uc_memalignmove $5,$17.set macro.set reorder.set noreorder.set nomacroj $L63sw $2,6540($16).set macro.set reorder$L85:addiu $7,$4,2sb $8,0($4).set noreorder.set nomacroj $L83sb $8,1($4).set macro.set reorder$L79:sb $7,4($5).set noreorder.set nomacroj $L77sb $7,1($3).set macro.set reorder$L96:sb $8,4($7)sb $8,1($4)lw $31,24($sp)lw $17,20($sp)lw $16,16($sp).set noreorder.set nomacroj $31addiu $sp,$sp,32.set macro.set reorder$L69:addiu $4,$6,3sb $7,0($6)sb $7,1($6).set noreorder.set nomacroj $L66sb $7,2($6).set macro.set reorder$L97:sb $8,6($7)sb $8,4($7)sb $8,5($7)lw $31,24($sp)lw $17,20($sp)lw $16,16($sp).set noreorder.set nomacroj $31addiu $sp,$sp,32.set macro.set reorder$L86:addiu $7,$4,3sb $8,0($4)sb $8,1($4).set noreorder.set nomacroj $L83sb $8,2($4).set macro.set reorder$L80:sb $7,6($5)sb $7,4($5).set noreorder.set nomacroj $L77sb $7,5($5).set macro.set reorder$L114:.set noreorder.set nomacroj $L77sb $7,4($5).set macro.set reorder$L113:addiu $4,$6,1.set noreorder.set nomacroj $L66sb $7,0($6).set macro.set reorder$L116:sb $8,4($7)lw $31,24($sp)lw $17,20($sp)lw $16,16($sp).set noreorder.set nomacroj $31addiu $sp,$sp,32.set macro.set reorder$L115:addiu $7,$4,1.set noreorder.set nomacroj $L83sb $8,0($4).set macro.set reorder.end alloc_buf.section .rodata.str1.4,"aMS",@progbits,1.align 2$LC0:.ascii "\012Subtitle word '%s' too long!\012\000".align 2$LC1:.ascii "OSD update: %d;%d %dx%d \012\000".align 2$LC2:.ascii "yes\000".align 2$LC3:.ascii "no\000".align 2$LC4:.ascii "OSD chg: %d V: %s pb:%d \012\000".section .text.vo_update_osd,"ax",@progbits.align 2.align 5.globl vo_update_osd.ent vo_update_osd.type vo_update_osd, @functionvo_update_osd:.frame $sp,136,$31 # vars= 64, regs= 10/0, args= 32, gp= 0.mask 0xc0ff0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-136sw $31,132($sp)sw $fp,128($sp)sw $23,124($sp)sw $22,120($sp)sw $21,116($sp)sw $20,112($sp)sw $19,108($sp)sw $18,104($sp)sw $17,100($sp)sw $16,96($sp)lui $2,%hi(vo_osd_list)lw $18,%lo(vo_osd_list)($2)sw $4,136($sp)beq $18,$0,$L579sw $5,140($sp)lw $2,136($sp)sw $0,92($sp)sll $2,$2,1sw $2,64($sp)$L127:lw $2,16($18)lw $3,136($sp)beq $2,$3,$L580lw $4,140($sp)$L538:lhu $4,6($18)li $2,2 # 0x2sw $4,60($sp)lbu $3,4($18)andi $4,$4,0xfffbbeq $3,$2,$L134sh $4,6($18)$L582:sltu $2,$3,3beq $2,$0,$L137li $2,3 # 0x3li $2,1 # 0x1beq $3,$2,$L581lui $2,%hi(vo_font)$L132:lhu $4,6($18)andi $2,$4,0x4bne $2,$0,$L516ori $2,$4,0x4sw $0,28($18)sw $0,24($18)lw $5,136($sp)sw $5,32($18)sh $2,6($18)andi $4,$2,0xfffflw $2,140($sp)sw $2,36($18)$L518:lw $2,60($sp)$L627:andi $3,$2,0x1andi $2,$4,0x1beq $3,$2,$L528ori $2,$4,0x2sh $2,6($18)$L528:lw $3,136($sp)lhu $2,6($18)sw $3,16($18)lw $5,140($sp)andi $2,$2,0xffefsh $2,6($18)andi $4,$2,0xffffsw $5,20($18)andi $2,$4,0x2$L621:beq $2,$0,$L530andi $2,$4,0x1beq $2,$0,$L532lbu $7,4($18)lui $2,%hi($LC2)addiu $9,$2,%lo($LC2)$L534:lui $2,%hi(vo_osd_progbar_type)lw $8,%lo(vo_osd_progbar_type)($2)li $3,1 # 0x1lw $2,92($sp)sll $3,$3,$7lui $6,%hi($LC4)or $2,$2,$3addiu $6,$6,%lo($LC4)li $4,30 # 0x1eli $5,7 # 0x7sw $2,92($sp)sw $9,16($sp)jal mp_msgsw $8,20($sp)$L530:lw $18,0($18)bne $18,$0,$L127nop$L126:lw $2,92($sp)lw $31,132($sp)lw $fp,128($sp)lw $23,124($sp)lw $22,120($sp)lw $21,116($sp)lw $20,112($sp)lw $19,108($sp)lw $18,104($sp)lw $17,100($sp)lw $16,96($sp)j $31addiu $sp,$sp,136$L580:lw $2,20($18)bne $4,$2,$L538noplhu $4,6($18)andi $2,$4,0x10beq $2,$0,$L621andi $2,$4,0x2sw $4,60($sp)lbu $3,4($18)andi $4,$4,0xfffbli $2,2 # 0x2bne $3,$2,$L582sh $4,6($18)$L134:lui $5,%hi(vo_sub)lw $6,%lo(vo_sub)($5)ori $5,$4,0x3beq $6,$0,$L138sh $5,6($18)lui $2,%hi(sub_font)lw $4,%lo(sub_font)($2)beq $4,$0,$L138lui $2,%hi(sub_visibility)lw $3,%lo(sub_visibility)($2)beq $3,$0,$L622andi $2,$5,0xfffalh $2,228($4)bltz $2,$L138lui $2,%hi(sub_width_p)lw $5,140($sp)lw $3,%lo(sub_width_p)($2)sw $5,12($18)lw $2,136($sp)sw $5,36($18)mul $3,$2,$3li $5,1374355456 # 0x51eb0000ori $5,$5,0x851fmult $3,$5sw $0,6528($18)mfhi $2lw $6,0($6)lw $4,16($4)sra $2,$2,5sra $3,$3,31sw $6,72($sp)subu $fp,$2,$3beq $6,$0,$L143sw $4,80($sp)sw $0,76($sp)lw $4,76($sp)sw $0,56($sp)lui $2,%hi(vo_sub)$L629:lw $3,%lo(vo_sub)($2)sll $2,$4,2addu $2,$2,$3lui $3,%hi(sub_font)lw $5,%lo(sub_font)($3)lw $4,12($2)lw $3,12($5)sw $4,32($sp)jal strlensubu $19,$0,$3move $4,$2jal uc_callocli $5,4 # 0x4lw $4,76($sp)lw $8,32($sp)addiu $4,$4,1sw $4,76($sp)lbu $9,0($8)move $21,$2lw $23,84($sp)li $22,1 # 0x1move $17,$0beq $9,$0,$L583move $20,$0lui $2,%hi(sub_utf8)$L624:lw $3,%lo(sub_utf8)($2)beq $3,$0,$L148addiu $2,$8,1xori $3,$9,0xffandi $2,$3,0xff00addiu $10,$8,1beq $2,$0,$L153move $4,$0srl $3,$3,8addiu $4,$4,8$L153:lui $24,%hi(ff_log2_tab)addiu $2,$24,%lo(ff_log2_tab)addu $2,$3,$2lbu $3,0($2)li $2,7 # 0x7addu $3,$4,$3subu $5,$2,$3li $4,1 # 0x1beq $5,$4,$L155li $2,127 # 0x7fsra $2,$2,$5addiu $3,$5,-1blez $3,$L584and $7,$9,$2lbu $2,0($10)addiu $6,$2,-128sra $3,$6,6bne $3,$0,$L155addu $4,$5,$8j $L161addiu $5,$10,1$L162:lbu $3,0($5)addiu $6,$3,-128sra $2,$6,6bne $2,$0,$L155addiu $5,$5,1$L161:sll $2,$7,6bne $4,$5,$L162addu $7,$2,$6sw $5,32($sp)$L164:move $5,$7$L165:bne $5,$0,$L623lui $2,%hi(sub_font)lui $3,%hi(sub_font)lw $4,%lo(sub_font)($3)li $5,1 # 0x1$L171:sll $7,$5,1$L628:addu $2,$7,$4li $3,393216 # 0x60000addu $2,$2,$3lh $3,148($2)lw $4,12($4)addu $3,$3,$4lw $4,136($sp)addu $6,$19,$3slt $2,$4,$6bne $2,$0,$L179sll $2,$20,2addu $2,$2,$21sw $5,0($2)lui $3,%hi(suboverlap_enabled)lw $4,%lo(suboverlap_enabled)($3)li $2,1 # 0x1movz $22,$2,$22bne $4,$0,$L183addiu $20,$20,1lui $5,%hi(sub_font)lw $3,%lo(sub_font)($5)addu $2,$7,$3lh $2,148($2)bltz $2,$L183sll $2,$2,2addu $2,$2,$3lw $3,20($2)lw $4,80($sp)lw $3,12($3)slt $2,$4,$3beq $2,$0,$L595move $19,$6sw $3,80($sp)$L183:move $19,$6$L595:lw $8,32($sp)lbu $9,0($8)bne $9,$0,$L624lui $2,%hi(sub_utf8)$L583:li $4,1 # 0x1jal uc_callocli $5,24 # 0x18beq $17,$0,$L585sw $2,84($sp)lui $5,%hi(sub_font)lw $3,%lo(sub_font)($5)li $5,393216 # 0x60000addu $4,$3,$5lh $5,212($4)sw $2,20($23)lw $2,12($3)lw $3,84($sp)addu $2,$2,$5sw $23,16($3)sw $2,0($3)move $4,$3$L192:sw $19,4($4)sw $20,8($4)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?