xref: /plan9-contrib/sys/src/cmd/jtagfs/genrtab.c (revision dedb130315e7b691e306ee069395ee1f0b18e4d4)
1 #include <u.h>
2 #include <libc.h>
3 #include <bio.h>
4 #include <mach.h>
5 #include "debug.h"
6 
7 static uchar
reverse(uchar c)8 reverse(uchar c)
9 {
10 	uchar rc;
11 	int i, j, ns;
12 
13 	rc = 0;
14 	for(i = 0, j = 1; i < 8; i++, j <<= 1){
15 		ns = (7 - 2*i);
16 		if( ns < 0){
17 			ns = -ns;
18 			rc |= (c&j) >> ns;
19 		}
20 		else
21 			rc |= (c&j) << ns;
22 	}
23 	return rc;
24 }
25 
26 
27 void
main(int,char * [])28 main(int , char *[])
29 {
30 	int i;
31 
32 	print("/* Generated automatically, *DO NOT EDIT* */\n\n");
33 	print("#include <u.h>\n");
34 	print("#include <libc.h>\n\n");
35 	print("uchar rtab[256]=\n");
36 	print("{\n\t");
37 	for(i = 0; i < 256; i++){
38 		print("%#2.2ux, ", reverse(i));
39 		if(i != 0 && (i + 1) % 8 == 0)
40 			print("\n\t");
41 	}
42 	print("\n};");
43 	exits(nil);
44 }
45 
46