汇编中的终端系统调用

汇编中的终端系统调用

我想为 Linux 编写一个国际象棋引擎。它将采用纯 X64 汇编语言,没有任何 C/C++ 或任何其他高级语言外部库。它将在全屏文本/控制台/终端模式下运行。没有图形用户界面。它将使用 Unicode 字符来显示棋子。我知道如何在 Windows 控制台 API 中实现它。哪些 Linux 内核系统调用与直接访问终端并将字体更改为支持 Unicode 的字体相关?我显然研究过它,但发现的信息很少,主要是针对 32 位的 int 0x80 调用。

答案1

在 Linux 中与控制台交互并不涉及很多系统调用——大部分是open,writeioctl。您将在以下位置找到一些相关 ioctl 的文档man ioctl_consoleman ioctl_tty,但许多 ioctl 没有记录(例如KDFONTOP)并且您需要仔细阅读内核源代码才能理解它们。你还需要man console_codes它描述了控制台上可用的转义码。

看起来可能更容易实现类似功能的程序并重现他们正在做的事情。

相关内容