如何在 DOS 中以不同颜色书写文字?

发布于 2024-08-23 09:13:39 字数 35 浏览 6 评论 0 原文

如何在 DOS 中编写文本,将每个字符设置为不同的颜色?

How do I write text in DOS, setting each character to a different colour?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

刘备忘录 2024-08-30 09:13:39

取决于您的编程语言。

您可以通过批处理文件执行此操作:

  1. ansi.sys 添加到您的 config.sys
  2. 使用适当的 ANSI 转义码

Depends on your programming language.

You can do this from a batch file:

  1. Add ansi.sys to your config.sys
  2. Write text using the appropriate ANSI escape codes
恰似旧人归 2024-08-30 09:13:39

作为已建议方法的替代方法(1. 使用 ansi.sys,或 2. 使用中断 10h),如果您使用 CGA 卡或 CGA 兼容文本模式的视频卡,则视频缓冲区位于地址0xB800,您可以直接在那里写入。屏幕上的每个字符都由缓冲区中的两个字节表示,第一个是字符的 ASCII 代码,第二个是 角色的视频属性(前景色 - 4 位,背景色 - 3 位和(恐怖的)闪烁位)。

As an alternative to the already suggested methods (1. using ansi.sys, or 2. using interrupt 10h), if you are using a CGA card or a video card in CGA-compatible text mode, the video buffer is at address 0xB800 and you can write directly there. Each character on screen is represented by two bytes in the buffer, the first being the ASCII code of the character and the second the video attribute of the character (foreground color—4 bits, background color—3 bits and (horror) a blinking bit).

心欲静而疯不止 2024-08-30 09:13:39

您可以使用 ANSI 转义码,如 这个问题与 C++ 的问题基本相同。 这个答案应该清楚地显示如何使用转义码。

You can use ANSI escape codes like described in this question which was basically the same question for C++. This answer should show clearly how to use the escape codes.

甜是你 2024-08-30 09:13:39

你可以使用 Function 10H Subfunction 10h

ah = 10h
al = 10h
bx = color register
ch = green
cl = blue
dh = red

我输入这个函数是因为它标有 assemply,但是你需要有 DOS 上所有这些函数的完整书。

You can use Function 10H Subfunction 10h

ah = 10h
al = 10h
bx = color register
ch = green
cl = blue
dh = red

I type the funcion because its marked with assemply, how ever you need to have the full book of all that functions on DOS.

灼痛 2024-08-30 09:13:39

您的问题不是很清楚,但是如果您尝试将不同颜色的文本写入终端,ANSI转义码是您想要查看的内容。

您真的想在装配中执行此操作吗? (根据你的标签)

Your question isn't very clear, but if you're trying write text in different colours to a terminal, ANSI escape codes are what you want to look at.

Do you really want to do this in assembly? (as per your tag)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文