| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2728 人关注过本帖
标题:DEV-C++内联汇编问题
取消只看楼主 加入收藏
zlmbh
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-7-20
收藏
 问题点数:0 回复次数:0 
DEV-C++内联汇编问题
#include <stdio.h>
#include <stdlib.h>

int a = 10;
int b = 20;
int result;
 
int main()
{
    asm
    (
        "pusha\n\t"
        "movl a,%eax\n\t"
        "movl b,%ebx\n\t"
        "imull %ebx,%eax\n\t"
        "movl %eax,result\n\t"
        "popa"
    );

    printf("%d\n",result);   
    return 0;
}

上面的代码是教科书里的,教程中说内联汇编要访问的变量必须是全局的,我认为程序没有问题,但编译运行时报错:

Compiler: Default compiler
Executing  gcc.exe...
gcc.exe "E:\xx\test\test.c" -o "E:\xx\test\test.exe"    -I"d:\Dev-Cpp\include"   -L"d:\Dev-Cpp\lib"
C:\DOCUME~1\xxx\LOCALS~1\Temp/ccUlaaaa.o(.text+0x38):test.c: undefined reference to `a'
C:\DOCUME~1\xxx\LOCALS~1\Temp/ccUlaaaa.o(.text+0x3e):test.c: undefined reference to `b'
C:\DOCUME~1\xxx\LOCALS~1\Temp/ccUlaaaa.o(.text+0x46):test.c: undefined reference to `result'collect2: ld returned 1 exit status

Execution terminated

请教大家,问题出在哪里??3x
搜索更多相关主题的帖子: 内联 汇编 
2008-07-20 23:59
快速回复:DEV-C++内联汇编问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017129 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved