当前位置:  技术问答>linux和unix

内联汇编求助

    来源: 互联网  发布时间:2016-11-13

    本文导语:  #include "stdio.h" int main( int argc, char* argv[]) {     int cpu_iid;     __asm__ __volatile__(     "mov %0, 1n"     :"=m"(cpu_iid)     :     ); } $gcc test.c -o a.out test.c: Assembler messages: test.c:6: Error: too many memory referenc...

#include "stdio.h"
int main( int argc, char* argv[])
{
    int cpu_iid;

    __asm__ __volatile__(
    "mov %0, 1n"
    :"=m"(cpu_iid)
    :
    );
}

$gcc test.c -o a.out
test.c: Assembler messages:
test.c:6: Error: too many memory references for `mov'

这是怎么回事,哪里错了?
谢谢 

|

这里是在用mov给一个内存单元赋值为一个立即数,需要指定这个内存单元的大小,是1个、2个、还是4个字节
AT&T汇编里面是用 movb(byte) movw(word) movl(long)

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • static函数被编译成内联函数(inline)
  • linux内核是用c和汇编写的,怎么会有inline内联函数呢?
  • 关于inline内联函数
  • 内联函数inline与宏定义深入解析
  • 关于C语言内联函数
  • c++内联函数(inline)使用详解
  • C语言中的内联函数(inline)与宏定义(#define)详细解析
  • 块元素block element和内联元素inline element
  • 浅谈内联函数与宏定义的区别详解
  • 深入探讨:宏、内联函数与普通函数的区别
  • 解析:内联,左外联,右外联,全连接,交叉连接的区别


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3