内联汇编配合位运算实现的
2023-08-03 22:32:24
发布于:上海
2阅读
0回复
0点赞
#include <stdio.h>
int main() {
    int a, b;
    scanf("%d %d",&a,&b);
    __asm__ __volatile__(
        "mov %%eax,%%edx\n"
        "loopadd:"
	"andl %%ebx,%%eax\n"
        "shll $1,%%eax\n"
        "xor %%ebx,%%edx\n"
        "mov %%eax,%%ebx\n"
        "mov %%edx,%%eax\n"
        "cmp $0,%%ebx\n"
        "jne loopadd\n"
        :"=d"(a)
        :"a"(a),"b"(b)
        :
	);
    printf("%d\n",a);
    return 0;
}
这里空空如也

有帮助,赞一个