echo.c

来自「一个MIPS虚拟机的源码」· C语言 代码 · 共 49 行

C
49
字号
/* Print a friendly message to the serial console. */#include "spimconsreg.h"#define IOBASE 0xa2000000#define IS_READY(ctrl) (((*(ctrl)) & CTL_RDY) != 0)volatile long *display_data_reg = (long *)(IOBASE+DISPLAY_1_DATA);volatile long *display_control_reg = (long *)(IOBASE+DISPLAY_1_CONTROL);volatile long *keyboard_data_reg = (long *)(IOBASE+KEYBOARD_1_DATA);volatile long *keyboard_control_reg = (long *)(IOBASE+KEYBOARD_1_CONTROL);inline char getchar(void){	do { 0; } while (! IS_READY(keyboard_control_reg));	return (char) *keyboard_data_reg;}inline void putchar(char out){	do { 0; } while (! IS_READY(display_control_reg));	*display_data_reg = (long) out;}void entry(void){	char inpchar;	putchar('?');	putchar(' ');	while (1) {		inpchar = getchar();		if (inpchar == 0x04) {			putchar('\n');			putchar('!');			putchar('\n');			return;		} else if (inpchar == 0x0A) {			putchar('\n');			putchar('?');			putchar(' ');		} else {			putchar('[');			putchar(inpchar);			putchar(']');		}	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?