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

📄 vt.c

📁 UNIX版本6的源代码
💻 C
字号:
#/* *//* * VT01 driver via DR11C to 11/20 */#include "../param.h"#include "../user.h"int	vtflag;struct vtreg {	int	csr;	int	buf;};#define	VTADDR	0167770#define	RQINT	01#define	BIENABL	040#define	SEOF	0100000#define	VTPRI	8vtopen(dev, flag){	if (!flag)		u.u_error = ENXIO;	else		VTADDR->csr = BIENABL;}vtclose(){	VTADDR->buf = SEOF;	VTADDR->csr =| RQINT;}vtwrite(){	register int c;	int register count;	while ((c=cpass()) >= 0) {	    retry:		for (count=0; count<10; count++)			if ((VTADDR->csr&RQINT)==0) {				VTADDR->buf = c&0377;				VTADDR->csr =| RQINT;				goto contin;			}		spl5();		if (VTADDR->csr&RQINT) {			vtflag++;			sleep(VTADDR, VTPRI);		}		spl0();		goto retry;    contin:;	}}vtintr(){	VTADDR->csr =& ~RQINT;	if (vtflag) {		vtflag = 0;		wakeup(VTADDR);	}}

⌨️ 快捷键说明

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