首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 有没有c和汇编相互调用方面的资料或者网站.大家推荐一下,linux平台下的.谢谢!!! [已结贴,结贴人:z341223318]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • z341223318
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-21 14:40:33 楼主
    有没有c和汇编相互调用方面的资料或者网站.大家推荐一下,linux平台下GCC的.谢谢!!!
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bubu8633
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 17:19:521楼 得分:100
    例:
      __asm__ __volatile__("hlt");
    “__asm__”表示后面的代码为内嵌汇编,“asm”是“__asm__”的别名。“__volatile__”
    表示编译器不要优化代码,后面的指令保留原样,“volatile”是它的别名。括号里面是汇
    编指令。


    C源文件如下内容如下,注意该代码没有实际意义,仅仅作为例子。
    extern  int input,result;

    void test(void)
    {
      input = 1;
        __asm__ __volatile__ ("movl %1,%0" : "=r" (result) : "r" (input));
      return ;
    }

    对应的汇编代码如下;

    行号  代码  解释
    1-7  …… 
    8    movl $1, input  对应C语言语句input = 1;
    9  movl  input, %eax 
    10  #APP  GCC插入的注释,表示内嵌汇编开始
    11    movl %eax,%eax  我们的内嵌汇编语句
    12  #NO_APP  GCC插入的注释,表示内嵌汇编结束
    13    movl %eax, result  将结果存入 result变量
    14-18  。。。。。。 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bubu8633
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 17:21:482楼 得分:0
    PDF:
    http://blogimg.chinaunix.net/blog/upfile2/071116173314.pdf
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • realdragon2
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 17:48:153楼 得分:0
    mark~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lala_benben
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 17:50:374楼 得分:0
    mark!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • z341223318
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-22 15:30:485楼 得分:0
    谢谢!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kingroup
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-23 08:31:276楼 得分:0
    引用 2 楼 bubu8633 的回复:
    PDF:
    http://blogimg.chinaunix.net/blog/upfile2/071116173314.pdf

    谢谢
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved