如何在 DOS 中以不同颜色书写文字?
如何在 DOS 中编写文本,将每个字符设置为不同的颜色?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何在 DOS 中编写文本,将每个字符设置为不同的颜色?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
取决于您的编程语言。
您可以通过批处理文件执行此操作:
Depends on your programming language.
You can do this from a batch file:
作为已建议方法的替代方法(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).您可以使用 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.
你可以使用 Function 10H Subfunction 10h
我输入这个函数是因为它标有 assemply,但是你需要有 DOS 上所有这些函数的完整书。
You can use Function 10H Subfunction 10h
I type the funcion because its marked with assemply, how ever you need to have the full book of all that functions on DOS.
您的问题不是很清楚,但是如果您尝试将不同颜色的文本写入终端,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)