"xor %0,%2\n\t"
"xorl %2,%0\n\t"
static unsigned long changeFlag(unsigned long flag){	unsigned long changedFlags, originalFlags;	__asm__("pushfl\n\t"            /* get the flags */	        "popl %0\n\t"	        "movl %0,%1\n\t"	/* save the original flags */	        "xor %0,%2\n\t" 	/* flip the bit */		"pushl %0\n\t"  	/* set the flags */	        "popfl\n\t"		"pushfl\n\t"		/* get the flags again (for return) */		"popl %0\n\t"			"pushl %1\n\t"		/* restore the original flags */		"popfl\n\t"		: "=r" (changedFlags),		  "=r" (originalFlags)		: "r" (flag));	return changedFlags ^ originalFlags;}