djbdnscurve6  38
djbdnscurve6
x86cpuid.c
Go to the documentation of this file.
1 #include <signal.h>
2 
3 void nope()
4 {
5  exit(1);
6 }
7 
8 int main()
9 {
10  unsigned long x[4];
11  unsigned long y[4];
12  int i;
13  int j;
14  char c;
15 
16  signal(SIGILL,nope);
17 
18  x[0] = 0;
19  x[1] = 0;
20  x[2] = 0;
21  x[3] = 0;
22 
23  asm volatile(".byte 15;.byte 162" : "=a"(x[0]),"=b"(x[1]),"=c"(x[3]),"=d"(x[2]) : "0"(0) );
24  if (!x[0]) return 0;
25  asm volatile(".byte 15;.byte 162" : "=a"(y[0]),"=b"(y[1]),"=c"(y[2]),"=d"(y[3]) : "0"(1) );
26 
27  for (i = 1;i < 4;++i)
28  for (j = 0;j < 4;++j) {
29  c = x[i] >> (8 * j);
30  if (c < 32) c = 32;
31  if (c > 126) c = 126;
32  putchar(c);
33  }
34 
35  printf("-%08x-%08x\n",y[0],y[3]);
36 
37  return 0;
38 }
struct line * x
void c(const char *home, const char *subdir, const char *file, int uid, int gid, int mode)
void nope()
Definition: x86cpuid.c:3
int main()
Definition: x86cpuid.c:8