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 + -
显示快捷键?