⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dummy.c.svn-base

📁 SImple Microkernel Distributed Operating System
💻 SVN-BASE
字号:
#include <stdio.h>#define	BSPACE	0x08#define TSPACE	0x09#define CRETURN	'\r'#define NLINE	'\n'#define	SPACE	' '#define WD	80#define LN	25#define TAB	8/* Misplaced - Place it where it should be*/extern unsigned csr_x;extern unsigned csr_y;extern unsigned attrib;extern unsigned short *textmemptr;/* End misplaced */extern void outportb(unsigned short _port, unsigned char _data);extern unsigned short *memsetw(unsigned short *s,\		unsigned short c, size_t n);void move_cs(void){	unsigned temp;	temp = csr_y * 80 + csr_x;	outportb(0x3D4, 14);	outportb(0x3D5, temp >> 8);	outportb(0x3D4, 15);	outportb(0x3D5, temp);}void clear(void){	int i;	unsigned blank;	blank = 0x20 | (attrib << 8);		csr_x = 0;	csr_y = 0;	for(i = 0; i < 25; i++)		memsetw(textmemptr + i * 80, blank, 80);	csr_x = csr_y = 0;	move_cs();}/*void init_video(void){	vga_addr = (unsigned short *)0xB8000;	clear();}*/int dummy(int c, FILE *stream){	if(c == BSPACE){	// Backspace		if(csr_x == 0){			csr_x = WD;			csr_y--;		}		else	csr_x--;	}	else if(c == TSPACE){	//Tab				if(csr_x > (WD - TAB))			csr_y++;		csr_x %= WD;		csr_x += TAB;	}	else if(c == CRETURN){	// Carriage Return		csr_x = 0;	}	else if(c == NLINE){	// New Line		csr_x = 0;		csr_y++;	}	else if(c >= SPACE){ 	//Any character greater than space is printable		memcpy(textmemptr + (csr_y * WD) + csr_x, \				&c, sizeof(int));		csr_x++;	}	return 0;}

⌨️ 快捷键说明

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