garyv 发表于 2013-12-20 12:31

内嵌汇编问题

int main(void)
{
    unsigned int ebp;

    asm volatile (".intel_syntax noprefix");

    asm volatile
    (
      "mov %0, ebp"
      : "=m"(ebp)
    );

    printf("EBP = 0x%08x\n", ebp);

    return 0;
}
虚拟机ubuntu里面的gcc编译竟然报一堆 Assembler错误,说是非法指令之类的。。。

帅绝人寰 发表于 2014-01-08 15:48

同学,既然你指定要intel syntax,那么gcc命令,请加上 -masm=intel。 否则的话,C代码编译成att的,inline assembly则是intel的,你让as怎么破?

liuiang 发表于 2014-01-08 15:58

特意进来顶一下A版。

garyv 发表于 2014-01-09 22:27

回复 2# 帅绝人寰


    所言极是啊。。。
页: [1]
查看完整版本: 内嵌汇编问题