getch2.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 543 行
S
543 行
.file 1 "getch2.c".section .mdebug.abi32.previous.section .text.getch2_enable,"ax",@progbits.align 2.align 5.globl getch2_enable.ent getch2_enable.type getch2_enable, @functiongetch2_enable:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacroli $3,1 # 0x1lui $2,%hi(getch2_status)j $31sw $3,%lo(getch2_status)($2).set macro.set reorder.end getch2_enable.section .text.getch2_disable,"ax",@progbits.align 2.align 5.globl getch2_disable.ent getch2_disable.type getch2_disable, @functiongetch2_disable:.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(getch2_status)j $31sw $0,%lo(getch2_status)($2).set macro.set reorder.end getch2_disable.section .text.getch2,"ax",@progbits.align 2.align 5.globl getch2.ent getch2.type getch2, @functiongetch2:.frame $sp,56,$31 # vars= 0, regs= 9/0, args= 16, gp= 0.mask 0x80ff0000,-8.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-56sw $16,16($sp)lui $16,%hi(getch2_len)lw $4,%lo(getch2_len)($16)sw $20,32($sp)lui $20,%hi(getch2_buf)sw $17,20($sp)li $6,256 # 0x100addiu $17,$20,%lo(getch2_buf)subu $6,$6,$4li $5,1 # 0x1addu $4,$4,$17move $7,$0sw $31,48($sp)sw $23,44($sp)sw $22,40($sp)sw $21,36($sp)sw $19,28($sp)jal BUFF_Readsw $18,24($sp)blez $2,$L74move $3,$2lw $2,%lo(getch2_len)($16)addu $5,$3,$2blez $5,$L74sw $5,%lo(getch2_len)($16)li $18,1 # 0x1li $19,27 # 0x1bmove $22,$17li $21,91 # 0x5bmove $23,$17$L10:beq $5,$18,$L71lb $4,%lo(getch2_buf)($20)beq $4,$19,$L80move $3,$4li $6,1 # 0x1beq $3,$6,$L91li $2,1 # 0x1$L12:li $2,5 # 0x5beq $3,$2,$L82li $2,1 # 0x1li $2,4 # 0x4beq $3,$2,$L83li $2,1 # 0x1li $2,8 # 0x8beq $3,$2,$L92li $2,1 # 0x1li $2,21 # 0x15beq $3,$2,$L84li $2,1 # 0x1li $2,22 # 0x16beq $3,$2,$L85li $2,1 # 0x1li $2,127 # 0x7fbeq $3,$2,$L19li $7,10 # 0xabeq $3,$7,$L26li $2,13 # 0xdbeq $3,$2,$L26nop$L28:li $2,1 # 0x1$L14:subu $7,$5,$2$L97:blez $7,$L68sw $7,%lo(getch2_len)($16)addu $3,$2,$17move $6,$0move $5,$17$L70:lbu $2,0($3)addiu $6,$6,1sb $2,0($5)addiu $3,$3,1bne $7,$6,$L70addiu $5,$5,1$L68:jal mplayer_put_keynoplw $5,%lo(getch2_len)($16)bgtz $5,$L10nop$L74:lw $31,48($sp)lw $23,44($sp)$L99: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)j $31addiu $sp,$sp,56$L71:lb $2,%lo(getch2_buf)($20)beq $2,$19,$L74move $3,$2li $6,1 # 0x1bne $3,$6,$L12move $4,$2li $2,1 # 0x1$L91:j $L14li $4,259 # 0x103$L80:beq $5,$18,$L93addiu $2,$5,-1lb $6,1($22)beq $6,$19,$L86li $2,2 # 0x2addiu $2,$6,-48sltu $2,$2,10beq $2,$0,$L40slt $7,$5,4addiu $4,$6,272j $L14li $2,2 # 0x2$L82:j $L14li $4,260 # 0x104$L83:j $L14li $4,257 # 0x101$L19:li $2,1 # 0x1$L92:j $L14li $4,256 # 0x100$L29:li $4,13 # 0xd$L93:jal mplayer_put_keysw $2,%lo(getch2_len)($16)lw $5,%lo(getch2_len)($16)bgtz $5,$L10lw $31,48($sp)j $L99lw $23,44($sp)$L40:bne $7,$0,$L42nopbeq $6,$21,$L87li $2,79 # 0x4f$L98:beq $6,$2,$L94li $2,2 # 0x2$L51:bne $7,$0,$L95slt $2,$5,5beq $6,$21,$L96addiu $7,$20,%lo(getch2_buf)$L55:slt $2,$5,5$L95:bne $2,$0,$L14li $2,1 # 0x1bne $6,$21,$L97subu $7,$5,$2lb $3,4($23)li $2,126 # 0x7ebne $3,$2,$L14li $2,1 # 0x1lb $3,2($23)addiu $3,$3,-48sltu $2,$3,10beq $2,$0,$L28lb $6,3($23)addiu $6,$6,-48bltz $6,$L28slt $2,$6,10beq $2,$0,$L14li $2,1 # 0x1sll $2,$3,3sll $3,$3,1addu $3,$3,$2lui $2,%hi(ftable.2761)addu $3,$6,$3addiu $7,$2,%lo(ftable.2761)move $6,$0j $L65li $8,20 # 0x14$L88:addiu $6,$6,1beq $6,$8,$L14li $2,1 # 0x1$L65:lh $2,0($7)bne $3,$2,$L88addiu $7,$7,2addiu $4,$6,321j $L14li $2,5 # 0x5$L86:j $L14li $4,263 # 0x107$L84:j $L14li $4,261 # 0x105$L42:bne $6,$21,$L98li $2,79 # 0x4fli $2,2 # 0x2$L94:beq $5,$2,$L52nop$L46:lb $3,2($17)addiu $2,$3,-65sltu $2,$2,19beq $2,$0,$L51lui $2,%hi(ctable.2756)addiu $2,$2,%lo(ctable.2756)sll $3,$3,1addu $3,$3,$2lh $2,-130($3)beq $2,$0,$L51nopmove $4,$2j $L14li $2,3 # 0x3$L26:beq $5,$6,$L29addiu $2,$5,-1lb $3,1($17)beq $3,$7,$L31li $2,13 # 0xdbeq $3,$2,$L31nop$L33:li $2,1 # 0x1j $L14li $4,13 # 0xd$L85:j $L14li $4,262 # 0x106$L31:beq $4,$3,$L33nopli $2,2 # 0x2j $L14li $4,13 # 0xd$L87:lb $2,2($22)bne $2,$6,$L46noplb $3,3($22)addiu $2,$3,-65sltu $2,$2,12bne $2,$0,$L89addiu $7,$20,%lo(getch2_buf)$L96:lb $3,3($7)li $2,126 # 0x7ebne $3,$2,$L95slt $2,$5,5lb $3,2($7)addiu $2,$3,-49sltu $2,$2,8beq $2,$0,$L55lui $2,%hi(ctable.2758)addiu $2,$2,%lo(ctable.2758)sll $3,$3,2addu $3,$3,$2lw $4,-196($3)j $L14li $2,4 # 0x4$L52:sb $6,%lo(getch2_buf)($20)jal mplayer_put_keysw $18,%lo(getch2_len)($16)lw $5,%lo(getch2_len)($16)bgtz $5,$L10lw $31,48($sp)j $L99lw $23,44($sp)$L89:addiu $4,$3,256j $L14li $2,4 # 0x4.set macro.set reorder.end getch2.section .text.get_screen_size,"ax",@progbits.align 2.align 5.globl get_screen_size.ent get_screen_size.type get_screen_size, @functionget_screen_size:.frame $sp,32,$31 # vars= 8, regs= 1/0, args= 16, gp= 0.mask 0x80000000,-8.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-32li $5,1074266112 # 0x40080000ori $5,$5,0x7468move $4,$0sw $31,24($sp)jal ioctladdiu $6,$sp,16bltz $2,$L105lhu $4,16($sp)beq $4,$0,$L105lhu $3,18($sp)beq $3,$0,$L105lui $2,%hi(screen_width)sw $3,%lo(screen_width)($2)lui $3,%hi(screen_height)sw $4,%lo(screen_height)($3)$L105:lw $31,24($sp)j $31addiu $sp,$sp,32.set macro.set reorder.end get_screen_size.globl screen_width.data.align 2.type screen_width, @object.size screen_width, 4screen_width:.word 80.globl screen_height.align 2.type screen_height, @object.size screen_height, 4screen_height:.word 24.globl erase_to_end_of_line.section .bss.align 2.type erase_to_end_of_line, @object.size erase_to_end_of_line, 4erase_to_end_of_line:.space 4.local getch2_status.comm getch2_status,4,4.local getch2_len.comm getch2_len,4,4.rdata.align 2.type ftable.2761, @object.size ftable.2761, 40ftable.2761:.half 11.half 12.half 13.half 14.half 15.half 17.half 18.half 19.half 20.half 21.half 23.half 24.half 25.half 26.half 28.half 29.half 31.half 32.half 33.half 34.align 2.type ctable.2758, @object.size ctable.2758, 32ctable.2758:.word 259.word 258.word 257.word 260.word 261.word 262.word 259.word 260.align 2.type ctable.2756, @object.size ctable.2756, 38ctable.2756:.half 275.half 274.half 272.half 273.half 0.half 260.half 262.half 259.half 261.half 0.half 0.half 258.half 0.half 0.half 0.half 321.half 322.half 323.half 324.local getch2_buf.comm getch2_buf,256,4.ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?