instrs[0] = 0x7c6002a6 + ((n & 0x1F) << 16) + ((n & 0x3e0) << 6); instrs[1] = 0x4e800020; 
read_spr(int n){	unsigned int instrs[2];	unsigned long (*code)(void);	unsigned long opd[3];	unsigned long ret = -1UL;	instrs[0] = 0x7c6002a6 + ((n & 0x1F) << 16) + ((n & 0x3e0) << 6);	instrs[1] = 0x4e800020;	opd[0] = (unsigned long)instrs;	opd[1] = 0;	opd[2] = 0;	store_inst(instrs);	store_inst(instrs+1);	code = (unsigned long (*)(void)) opd;	if (setjmp(bus_error_jmp) == 0) {		catch_memory_errors = 1;		sync();		ret = code();		sync();		/* wait a little while to see if we get a machine check */		__delay(200);		n = size;	}	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/548ccebc2a79c780724529948c79de0613f96776/xmon.c/buggy/arch/powerpc/xmon/xmon.c