getch2.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 543 行
MID
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 nomacro li $3,1 # 0x1 lui $2,%hi(getch2_status) j $31 sw $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 nomacro lui $2,%hi(getch2_status) j $31 sw $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 nomacro addiu $sp,$sp,-56 sw $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 # 0x100 addiu $17,$20,%lo(getch2_buf) subu $6,$6,$4 li $5,1 # 0x1 addu $4,$4,$17 move $7,$0 sw $31,48($sp) sw $23,44($sp) sw $22,40($sp) sw $21,36($sp) sw $19,28($sp) jal BUFF_Read sw $18,24($sp) blez $2,$L74 move $3,$2 lw $2,%lo(getch2_len)($16) addu $5,$3,$2 blez $5,$L74 sw $5,%lo(getch2_len)($16) li $18,1 # 0x1 li $19,27 # 0x1b move $22,$17 li $21,91 # 0x5b move $23,$17$L10: beq $5,$18,$L71 lb $4,%lo(getch2_buf)($20) beq $4,$19,$L80 move $3,$4 li $6,1 # 0x1 beq $3,$6,$L91 li $2,1 # 0x1$L12: li $2,5 # 0x5 beq $3,$2,$L82 li $2,1 # 0x1 li $2,4 # 0x4 beq $3,$2,$L83 li $2,1 # 0x1 li $2,8 # 0x8 beq $3,$2,$L92 li $2,1 # 0x1 li $2,21 # 0x15 beq $3,$2,$L84 li $2,1 # 0x1 li $2,22 # 0x16 beq $3,$2,$L85 li $2,1 # 0x1 li $2,127 # 0x7f beq $3,$2,$L19 li $7,10 # 0xa beq $3,$7,$L26 li $2,13 # 0xd beq $3,$2,$L26 nop$L28: li $2,1 # 0x1$L14: subu $7,$5,$2$L97: blez $7,$L68 sw $7,%lo(getch2_len)($16) addu $3,$2,$17 move $6,$0 move $5,$17$L70: lbu $2,0($3) addiu $6,$6,1 sb $2,0($5) addiu $3,$3,1 bne $7,$6,$L70 addiu $5,$5,1$L68: jal mplayer_put_key nop lw $5,%lo(getch2_len)($16) bgtz $5,$L10 nop$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 $31 addiu $sp,$sp,56$L71: lb $2,%lo(getch2_buf)($20) beq $2,$19,$L74 move $3,$2 li $6,1 # 0x1 bne $3,$6,$L12 move $4,$2 li $2,1 # 0x1$L91: j $L14 li $4,259 # 0x103$L80: beq $5,$18,$L93 addiu $2,$5,-1 lb $6,1($22) beq $6,$19,$L86 li $2,2 # 0x2 addiu $2,$6,-48 sltu $2,$2,10 beq $2,$0,$L40 slt $7,$5,4 addiu $4,$6,272 j $L14 li $2,2 # 0x2$L82: j $L14 li $4,260 # 0x104$L83: j $L14 li $4,257 # 0x101$L19: li $2,1 # 0x1$L92: j $L14 li $4,256 # 0x100$L29: li $4,13 # 0xd$L93: jal mplayer_put_key sw $2,%lo(getch2_len)($16) lw $5,%lo(getch2_len)($16) bgtz $5,$L10 lw $31,48($sp) j $L99 lw $23,44($sp)$L40: bne $7,$0,$L42 nop beq $6,$21,$L87 li $2,79 # 0x4f$L98: beq $6,$2,$L94 li $2,2 # 0x2$L51: bne $7,$0,$L95 slt $2,$5,5 beq $6,$21,$L96 addiu $7,$20,%lo(getch2_buf)$L55: slt $2,$5,5$L95: bne $2,$0,$L14 li $2,1 # 0x1 bne $6,$21,$L97 subu $7,$5,$2 lb $3,4($23) li $2,126 # 0x7e bne $3,$2,$L14 li $2,1 # 0x1 lb $3,2($23) addiu $3,$3,-48 sltu $2,$3,10 beq $2,$0,$L28 lb $6,3($23) addiu $6,$6,-48 bltz $6,$L28 slt $2,$6,10 beq $2,$0,$L14 li $2,1 # 0x1 sll $2,$3,3 sll $3,$3,1 addu $3,$3,$2 lui $2,%hi(ftable.2761) addu $3,$6,$3 addiu $7,$2,%lo(ftable.2761) move $6,$0 j $L65 li $8,20 # 0x14$L88: addiu $6,$6,1 beq $6,$8,$L14 li $2,1 # 0x1$L65: lh $2,0($7) bne $3,$2,$L88 addiu $7,$7,2 addiu $4,$6,321 j $L14 li $2,5 # 0x5$L86: j $L14 li $4,263 # 0x107$L84: j $L14 li $4,261 # 0x105$L42: bne $6,$21,$L98 li $2,79 # 0x4f li $2,2 # 0x2$L94: beq $5,$2,$L52 nop$L46: lb $3,2($17) addiu $2,$3,-65 sltu $2,$2,19 beq $2,$0,$L51 lui $2,%hi(ctable.2756) addiu $2,$2,%lo(ctable.2756) sll $3,$3,1 addu $3,$3,$2 lh $2,-130($3) beq $2,$0,$L51 nop move $4,$2 j $L14 li $2,3 # 0x3$L26: beq $5,$6,$L29 addiu $2,$5,-1 lb $3,1($17) beq $3,$7,$L31 li $2,13 # 0xd beq $3,$2,$L31 nop$L33: li $2,1 # 0x1 j $L14 li $4,13 # 0xd$L85: j $L14 li $4,262 # 0x106$L31: beq $4,$3,$L33 nop li $2,2 # 0x2 j $L14 li $4,13 # 0xd$L87: lb $2,2($22) bne $2,$6,$L46 nop lb $3,3($22) addiu $2,$3,-65 sltu $2,$2,12 bne $2,$0,$L89 addiu $7,$20,%lo(getch2_buf)$L96: lb $3,3($7) li $2,126 # 0x7e bne $3,$2,$L95 slt $2,$5,5 lb $3,2($7) addiu $2,$3,-49 sltu $2,$2,8 beq $2,$0,$L55 lui $2,%hi(ctable.2758) addiu $2,$2,%lo(ctable.2758) sll $3,$3,2 addu $3,$3,$2 lw $4,-196($3) j $L14 li $2,4 # 0x4$L52: sb $6,%lo(getch2_buf)($20) jal mplayer_put_key sw $18,%lo(getch2_len)($16) lw $5,%lo(getch2_len)($16) bgtz $5,$L10 lw $31,48($sp) j $L99 lw $23,44($sp)$L89: addiu $4,$3,256 j $L14 li $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 nomacro addiu $sp,$sp,-32 li $5,1074266112 # 0x40080000 ori $5,$5,0x7468 move $4,$0 sw $31,24($sp) jal ioctl addiu $6,$sp,16 bltz $2,$L105 lhu $4,16($sp) beq $4,$0,$L105 lhu $3,18($sp) beq $3,$0,$L105 lui $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 $31 addiu $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 + -
显示快捷键?