首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

64位汇编程序,该如何解决

2013-01-25 
64位汇编程序怎么用汇编实现2个数的交换 在linux下嵌入64位汇编到.c文件中该怎么写啊?为什么会一直报错啊?

64位汇编程序
怎么用汇编实现2个数的交换 在linux下嵌入64位汇编到.c文件中该怎么写啊?为什么会一直报错啊?我知道用
movq %%rax, %%rbx不会错。变量(如:a)是怎么传到寄存器的?


#include <stdio.h>

int main()
{
    int a = 10, b = 0;
    __asm__ ("mov %%rax, %a;\r"
                       );     
    
    printf("Result: %d, %d\\n", a, b);
}

求指教! 汇编 64位
[解决办法]
交换不是xchg么
要么就xor
xor a,b
xor b,a
xor a,b
[解决办法]
你以为是VC啊,呵呵?

long x=100;
__asm__ __volatile__("mov %%rax,%0"::"m"(x));

热点排行