【问题标题】:How to print colored string in Arm assembly如何在 Arm 组件中打印彩色字符串
【发布时间】:2017-09-06 21:34:10
【问题描述】:

如何使用 arm 汇编语言打印彩色字符串? 例如,我想以位于.data 部分的红色打印以下文本。怎么办?

.data
text1 : .asciz "Hello" `

【问题讨论】:

  • 这取决于您的操作系统和终端以及您要付出多少努力。您可以尝试 ANSI 颜色代码并希望它有效。 PS:你会如何在C中做到这一点? :)
  • step 1) 扔掉你的 ARM 设备 2) 买 ZX Spectrum Next 3) 再问一遍,我会告诉你如何通过修改 Z80 中 video ram 中的值来改变屏幕上的单独像素和颜色组装(尽管您可能不想遵循此建议,因为那样您将不得不按像素绘制字符,而不仅仅是通过提供 ASCII 字符串......再一次,您可以使用自己的自定义字体!赢了!)跨度>
  • @Jester 嗨,正如我在 c 中所知道的,我们可以使用 sprintf 命令通过转义序列+ansi 代码来做到这一点。我会尝试编译c然后汇编,谢谢:)
  • 如果您知道 ansi 代码在您的环境中工作,那么问题实际上是“如何打印字符串”(它是否包含颜色代码)。那么,您至少知道如何打印字符串吗?或者您可能不知道如何将颜色代码嵌入到字符串中?这取决于您的汇编程序,您可能必须将您的 text1 拆分为多个部分并使用 .ascii.byte(或等效项)
  • @Jester 是的,我知道如何打印字符串,我尝试使用 printf("\x1b[31mHELLO\x1b[0m");在c中并将其编译为程序集,它比我想象的要复杂。谢谢:)

标签: string assembly colors arm


【解决方案1】:

对颜色使用 ANSI 转义字符。

.data
text: .ascii "\033[31mHELLO\033[0m\000"

【讨论】:

    猜你喜欢
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2021-09-21
    相关资源
    最近更新 更多