首页 > 解决方案 > C内联汇编无序?

问题描述

在 CI 中有:

__asm__ (   
            "mov    $0x2,%rax;"
            "mov    $0x6000dd,%rdi;"
            "mov    $0x0,%rsi;"
            "syscall;"
        );

但是当我在汇编文件中编译它时,我看到:

# 12 "mine.cxx" 1
mov    $0x2,%rax;mov    $0x6000dd,%rdi;mov    $0x0,%rsi;syscall;

为什么它们像这样在 1 行中如何将它们分开?

标签: cfunctiondebuggingassemblyinline-assembly

解决方案


您应该添加\n到单独的行。

__asm__ (   
            "mov    $0x2,%rax;\n"
            "mov    $0x6000dd,%rdi;\n"
            "mov    $0x0,%rsi;\n"
            "syscall;\n"
        );

推荐阅读