vo_fbdev_ucos.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 527 行
S
527 行
.file 1 "vo_fbdev_ucos.c".section .mdebug.abi32.previous.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.draw_frame,"ax",@progbits.align 2.align 5.ent draw_frame.type draw_frame, @functiondraw_frame:.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_frame.section .text.uninit,"ax",@progbits.align 2.align 5.ent uninit.type uninit, @functionuninit:.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 uninit.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.preinit,"ax",@progbits.align 2.align 5.ent preinit.type preinit, @functionpreinit:.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(pre_init_err)sw $0,%lo(pre_init_err)($2)j $31move $2,$0.set macro.set reorder.end preinit.section .text.control,"ax",@progbits.align 2.align 5.ent control.type control, @functioncontrol:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacroli $2,2 # 0x2sw $6,8($sp)sw $7,12($sp)beq $4,$2,$L15move $6,$5li $2,9 # 0x9beq $4,$2,$L16li $3,-3 # 0xfffffffffffffffd$L17:j $31move $2,$3$L15:lw $5,0($5)li $3,-256 # 0xffffffffffffff00li $2,1111949312 # 0x42470000and $3,$5,$3ori $2,$2,0x5200beq $3,$2,$L27andi $3,$5,0xff$L18:move $3,$0$L28:j $31move $2,$3$L16:lw $4,4($5)li $3,-193 # 0xffffffffffffff3fli $2,1111949312 # 0x42470000and $4,$4,$3ori $2,$2,0x5220bne $4,$2,$L28move $3,$0lbu $2,2($5)addiu $2,$2,-1andi $2,$2,0x00ffsltu $2,$2,2beq $2,$0,$L28noplhu $7,0($5)andi $2,$7,0x300bne $2,$0,$L28noplui $2,%hi(center)lui $3,%hi(fb_line_len)lw $5,%lo(center)($2)lw $4,%lo(fb_line_len)($3)ori $2,$7,0x2000li $3,1 # 0x1sh $2,0($6)sw $5,32($6)j $L17sw $4,48($6)$L27:li $2,32 # 0x20bne $3,$2,$L18li $3,1027 # 0x403j $31move $2,$3.set macro.set reorder.end control.section .text.draw_slice,"ax",@progbits.align 2.align 5.ent draw_slice.type draw_slice, @functiondraw_slice:.frame $sp,56,$31 # vars= 0, regs= 10/0, args= 16, gp= 0.mask 0xc0ff0000,-4.fmask 0x00000000,0addiu $sp,$sp,-56sw $23,44($sp)sw $22,40($sp)sw $18,24($sp)sw $31,52($sp)sw $fp,48($sp)sw $21,36($sp)sw $20,32($sp)sw $19,28($sp)sw $17,20($sp)sw $16,16($sp)lui $22,%hi(fb_line_len)lui $2,%hi(center)move $23,$5lw $17,0($4)move $18,$7lw $5,%lo(center)($2).set noreorder.set nomacrobeq $7,$0,$L30lw $4,%lo(fb_line_len)($22).set macro.set reorderlw $3,76($sp)lw $2,72($sp)mul $7,$4,$3sll $19,$6,2sll $2,$2,2addu $3,$7,$2sltu $20,$19,32li $2,-32 # 0xffffffffffffffe0addu $16,$3,$5and $fp,$19,$2.set noreorder.set nomacrobne $20,$0,$L33andi $21,$19,0x3.set macro.set reorder$L52:andi $2,$16,0x3.set noreorder.set nomacrobne $2,$0,$L54move $4,$16.set macro.set reorderandi $2,$17,0x3.set noreorder.set nomacrobne $2,$0,$L55move $5,$17.set macro.set reorderaddiu $5,$16,-4addu $3,$5,$fpsltu $2,$5,$3.set noreorder.set nomacrobeq $2,$0,$L37addiu $4,$17,-4.set macro.set reorder$L47:#APP.word 0b01110000100000000000010001010100 #S32LDI XR1,$4,4.word 0b01110000100000000000010010010100 #S32LDI XR2,$4,4.word 0b01110000100000000000010011010100 #S32LDI XR3,$4,4.word 0b01110000100000000000010100010100 #S32LDI XR4,$4,4.word 0b01110000100000000000010101010100 #S32LDI XR5,$4,4.word 0b01110000100000000000010110010100 #S32LDI XR6,$4,4.word 0b01110000100000000000010111010100 #S32LDI XR7,$4,4.word 0b01110000100000000000011000010100 #S32LDI XR8,$4,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4.word 0b01110000101000000000010010010101 #S32SDI XR2,$5,4.word 0b01110000101000000000010011010101 #S32SDI XR3,$5,4.word 0b01110000101000000000010100010101 #S32SDI XR4,$5,4.word 0b01110000101000000000010101010101 #S32SDI XR5,$5,4.word 0b01110000101000000000010110010101 #S32SDI XR6,$5,4.word 0b01110000101000000000010111010101 #S32SDI XR7,$5,4.word 0b01110000101000000000011000010101 #S32SDI XR8,$5,4#NO_APPsltu $2,$5,$3bne $2,$0,$L47$L37:andi $2,$19,0x1caddu $6,$3,$2sltu $3,$5,$6.set noreorder.set nomacrobeq $3,$0,$L56li $2,2 # 0x2.set macro.set reorder$L48:#APP.word 0b01110000100000000000010001010100 #S32LDI XR1,$4,4.word 0b01110000101000000000010001010101 #S32SDI XR1,$5,4#NO_APPsltu $2,$5,$6.set noreorder.set nomacrobne $2,$0,$L48li $2,2 # 0x2.set macro.set reorder$L56:.set noreorder.set nomacrobeq $21,$2,$L43li $2,3 # 0x3.set macro.set reorder.set noreorder.set nomacrobeq $21,$2,$L44li $2,1 # 0x1.set macro.set reorderbeq $21,$2,$L51$L41:addiu $18,$18,-1lw $2,%lo(fb_line_len)($22).set noreorder.set nomacrobeq $18,$0,$L30lw $3,0($23).set macro.set reorder$L53:addu $16,$16,$2.set noreorder.set nomacrobeq $20,$0,$L52addu $17,$17,$3.set macro.set reorder$L33:move $4,$16$L54:move $5,$17$L55:move $6,$19.set noreorder.set nomacrojal memcpyaddiu $18,$18,-1.set macro.set reorderlw $2,%lo(fb_line_len)($22).set noreorder.set nomacrobne $18,$0,$L53lw $3,0($23).set macro.set reorder$L30:lw $31,52($sp)lw $fp,48($sp)lw $23,44($sp)lw $22,40($sp)lw $21,36($sp)lw $20,32($sp)lw $19,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)move $2,$0.set noreorder.set nomacroj $31addiu $sp,$sp,56.set macro.set reorder$L43:lbu $2,4($4)sb $2,4($5)lbu $3,5($4).set noreorder.set nomacroj $L41sb $3,5($5).set macro.set reorder$L44:lbu $2,4($4)sb $2,4($5)lbu $3,5($4)sb $3,5($5)lbu $2,6($4).set noreorder.set nomacroj $L41sb $2,6($5).set macro.set reorder$L51:lbu $2,4($4).set noreorder.set nomacroj $L41sb $2,4($5).set macro.set reorder.end draw_slice.section .text.config,"ax",@progbits.align 2.align 5.ent config.type config, @functionconfig:.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,-32lui $3,%hi(image_height)lui $2,%hi(image_width)sw $31,24($sp)sw $17,20($sp)sw $16,16($sp)sw $5,%lo(image_height)($3)jal lcd_get_widthsw $4,%lo(image_width)($2)lui $17,%hi(fb_line_len)sll $2,$2,2jal lcd_get_framesw $2,%lo(fb_line_len)($17)lw $3,%lo(fb_line_len)($17)jal lcd_get_heightaddu $16,$2,$3srl $2,$2,1addu $16,$16,$2lui $2,%hi(center)sw $16,%lo(center)($2)lw $31,24($sp)lw $17,20($sp)lw $16,16($sp)move $2,$0j $31addiu $sp,$sp,32.set macro.set reorder.end config.globl video_out_fbucos.data.align 2.type video_out_fbucos, @object.size video_out_fbucos, 40video_out_fbucos:.word info.word preinit.word config.word control.word draw_frame.word draw_slice.word draw_osd.word flip_page.word check_events.word uninit.align 2.type pre_init_err, @object.size pre_init_err, 4pre_init_err:.word -2.local image_width.comm image_width,4,4.local image_height.comm image_height,4,4.local fb_line_len.comm fb_line_len,4,4.local center.comm center,4,4.section .rodata.str1.4,"aMS",@progbits,1.align 2$LC0:.ascii "Null video output\000".align 2$LC1:.ascii "null\000".align 2$LC2:.ascii "Aaron Holtzman <aholtzma@ess.engr.uvic.ca>\000".subsection -1.align 2$LC3:.ascii "\000".data.align 2.type info, @object.size info, 16info:.word $LC0.word $LC1.word $LC2.word $LC3.ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?