永发信息网

C语言 AT&T内联汇编请教

答案:2  悬赏:70  手机版
解决时间 2021-02-04 12:44
#include
#include
int main()
{
void swap(int x,int y);
static int a;
static int b;
asm("addl %3,%2"
"mov %2,%eax"
"sbb %3,%eax"
"mov %eax,%3"
"sbb %3,%2"
"mov %2,%0"
"mov %3,%1":"=r"(a),"=r"(b):"r"(a),"r"(b):"%eax");
printf("%d%d",a,b);
getch();
}
void swap(int x,int y)
{
x+=y;
y=x-y;
x-=y;
static int a=x,b=y;
}
//operand number missing after %-letter错误。。
最佳答案
在使用像%0 %1 %2这样子东西的时候,寄存器前面的%要双写

就是%eax改成%%eax,其他寄存器也是。
全部回答
c语言在编译连接生成可运行文件后就已经成了二进制代码。所以,你要它再次翻译成汇编语言的话就需要反汇编。你用debug加载你需要查看的程序,再用u命令就可以看到他的反汇编代码了。 请参考
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
商洛秦乡缘山农家乐地址好找么,我有些事要过
我买z5直达火车中途补票会是站票吗
甲图表示绿色植物叶肉细胞中的部分结构,①~
老铜叉价值?
女人到了更年期性欲太低怎么办?能吃药吗?
手机键盘的颜色怎么设置?
商洛商贸宾馆地址在什么地方,我要处理点事
立国发型设计工作室地址有知道的么?有点事想
刚认识一个女生,对她有好感,圣诞节送她什么
关于买二手房综合地价款怎么交的问题?(急)
小胖计划三天走十九千米他第一天走560米第二
商洛劳动宾馆地址在什么地方,想过去办事
大腿根部,有没有缝隙,有的话就说明她可能已
1.My teacher is here.(疑问句)2.Do you like
iphone5的邮件里显示“无法取得邮件”“无法
推荐资讯
用快递单软件在针式打印机上打快递,但是后几
青蓝教育(临沂兰山区)地址在什么地方,我要处
淘宝店瑕之小铺运费好贵
司姓龙字作为中间字取名
宜信财富怎么样
——Hi, Mike.Any idea where Mary is?
吉的堡少儿英语(同济路分校)地址在哪,我要去
《公路工程质量检验评定标准》规定,工程质量
车子跑了14万公里,发现发动机声音要大了些,是
北京完美动力学校ui毕业获得什么学历
申请了工商银行的信用卡,为什么打95588查不
描写夜晚气氛很神秘的句子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?