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

发布于 2022-09-17 10:56:18 字数 960 浏览 16 评论 9

请问大家,我在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 = %dn", a, b);
        return 0;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

黎夕旧梦 2022-09-20 10:50:16

哦,有关ARM的是吧

孤星 2022-09-20 10:50:07

回复 7# aaaaa5aa

这是两个关键字

别想她 2022-09-20 10:49:23

{:3_191:}

歌入人心 2022-09-20 10:48:54

_asm_ _volatile_
中间空格什么意思

萌梦深 2022-09-20 10:48:38

_asm_   _volatile_
中间要有空格

往日 2022-09-20 10:02:23

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

抄书抄错了。

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

    谢谢你了,我终于改对了

#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 = %dn", a, b);
        return 0;
}

// a = 10, b = 10

江南月 2022-09-19 02:43:53

_asm_   _volatile_
中间要有空格

离不开的别离 2022-09-18 02:41:05

抄书抄错了。

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

    {:3_195:}

柒夜笙歌凉 2022-09-17 16:58:15

抄书抄错了。

_asm_ _volatile_

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文