//REGISTER must be between "0" and "7" for the dr0-dr7 accordingly #define SET_DEBUG_REGISTER(REGISTER, VALUE) __asm__ __volatile__ ("mov %0,%%dr" REGISTER "\n" :: "r" (VALUE)); #define GET_DEBUG_REGISTER(REGISTER, VALUE) __asm__ __volatile__ ("mov %%dr" REGISTER ",%0\n" : "=r" (VALUE));