mailwxg 发表于 2010-04-23 22:24

请问在gcc中嵌入汇编语句报错

请问大家,我在gcc中潜入汇编语句提示:undefined reference to `_asm__volatile_'
什么原因呢?
谢谢大家~~

#include <stdio.h>

/**
* Assign variable a to b, using eax register
* */
int main()
{
        int a = 10, b = 0;

        _asm__volatile_("movl %1, %%eax;\\n\\t"
                        "movl %%eax, %0;");
//                        :"=r"(b)
//                        :"r"(a)
//                        :"eax");

        printf("a = %d, b = %d\n", a, b);
        return 0;
}

jzhang918 发表于 2010-04-24 08:49

抄书抄错了。

_asm_ _volatile_

numdisp 发表于 2010-04-26 11:11

抄书抄错了。

_asm_ _volatile_
jzhang918 发表于 2010-04-24 08:49 http://linux.chinaunix.net/bbs/images/common/back.gif


    {:3_195:}

cjaizss 发表于 2010-04-26 11:14

_asm_   _volatile_
中间要有空格

mailwxg 发表于 2010-04-27 10:41

本帖最后由 mailwxg 于 2010-04-27 10:43 编辑

抄书抄错了。

_asm_ _volatile_
jzhang918 发表于 2010-04-24 08:49 http://linux.chinaunix.net/bbs/images/common/back.gif


    谢谢你了,我终于改对了:lol: :

#include <stdio.h>

/**
* Assign variable a to b, using eax register
* */
int main()
{
      int a = 10, b = 0;

      __asm __volatile("movl %1, %%eax;"
                        "movl %%eax, %0"
                        :"=r"(b)
                        :"r"(a)
                        :"eax" );

      printf("a = %d, b = %d\n", a, b);
      return 0;
}

// a = 10, b = 10

notion001 发表于 2010-05-15 23:37

_asm_   _volatile_
中间要有空格

aaaaa5aa 发表于 2010-05-17 12:26

_asm_ _volatile_
中间空格什么意思

snow888 发表于 2010-05-20 00:49

{:3_191:}

EricFisher 发表于 2010-05-20 08:47

回复 7# aaaaa5aa

这是两个关键字

aaaaa5aa 发表于 2010-05-20 13:08

哦,有关ARM的是吧
页: [1]
查看完整版本: 请问在gcc中嵌入汇编语句报错