test.h revision 8f943afc22a6a683b78271836c8ddc462b4824a9
1#include <stdio.h>
2#define get_cc() \
3({ \
4	char __cc; \
5	/* dont use IPM to better test spechelpers */ \
6	asm volatile(	"	brc 8,1f\n\t" \
7			"	brc 4,2f\n\t" \
8			"	brc 2,3f\n\t" \
9			"	brc 1,4f\n\t" \
10			"	mvi %0,4\n\t" \
11			"	j 0f\n\t" \
12			"1:	mvi %0,0\n\t" \
13			"	j 0f\n\t" \
14			"2:	mvi %0,1\n\t" \
15			"	j 0f\n\t" \
16			"3:	mvi %0,2\n\t" \
17			"	j 0f\n\t" \
18			"4:	mvi %0,3\n\t" \
19			"	j 0f\n\t" \
20			"0:	bcr 0,0 /*nop*/\n\t" \
21			:"=m" (__cc)::"memory"); \
22	__cc; \
23})
24
25static inline void dump_field(void *field, int size)
26{
27	int i;
28	for (i=0; i < size; i++)
29		printf("%2.2X ", ((char *) field)[i]);
30}
31