在汇编中调用printf时如何设置颜色?

问题描述 投票:3回答:1

我想在调用 printf 汇编中的。

这是我的代码。

Out:    
    mov     rdi, answer
    mov     rsi, r10
    mov     rax,0
    call    printf
section .data
    answer:     db       "\033[0;31m%d\033[0m",10,0

我用NASM来编译,用gcc来链接。

nasm -f elf64 "%f"
gcc -o %e %e.o

但是,输出的结果是:

\033[0;31m(my r10)\033[0m
linux assembly printf nasm x86-64
1个回答
3
投票

使用 ` 使周围的字符串在NASM中具有转义序列。

参考文献。3.4.2 字符串

试试这个

Out:
    mov     rdi, answer
    mov     rsi, r10
    mov     rax,0
    call    printf
section .data
    answer:     db       `\033[0;31m%d\033[0m`,10,0
© www.soinside.com 2019 - 2024. All rights reserved.