#include #include int main() { uint32_t bit_base[2]; #define X(n) \ printf("%d:\n", n); \ bit_base[0] = 0; bit_base[1] = 0;\ asm("btsw %%ax, %0" : "+m"(*bit_base) : "a"(n)); \ printf("\t%08x %08x\n", bit_base[0], bit_base[1]); \ bit_base[0] = 0; bit_base[1] = 0;\ asm("btsl %1, %0" : "+m"(*bit_base) : "r"(n)); \ printf("\t%08x %08x\n", bit_base[0], bit_base[1]) #define Y(n) \ X(8*(n)+0); X(8*(n)+1); X(8*(n)+2); X(8*(n)+3); \ X(8*(n)+4); X(8*(n)+5); X(8*(n)+6); X(8*(n)+7) Y(0); Y(1); Y(2); Y(3); Y(4); Y(5); Y(6); Y(7); return 0; }