code:klrint - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki

Source

  • KL 设备中断处理函数
  • 一般 由读取数据完成 引发

8078 klrint(dev)

8079 { register int c, *addr;

8080     register struct tty *tp;

8081     tp = &kl11[dev.d_minor];

  • 找到 设备号dev 对应的 KL设备 的struct tty结构
8082     addr = tp->t_addr;

8083     c = addr->klrbuf;

  • 获取 输入的字符 c
8084     addr->klrcsr =| RDRENB;
  • 置 设备接收器 可用
  • RDRENB 定义在 kl.c
8085     if ((c&0177)==0)

8086     addr->kltbuf = c; /* hardware botch */

8087     ttyinput(c, tp);
  • c 送入 tty 原始输入队列
8088 }

8089 /* ------------------------- */

⚠️ **GitHub.com Fallback** ⚠️