• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <stdio.h>
2 
3 static unsigned long test[] ={
4 	0x000000000000000a,
5 	0x000000000000001a,
6 	0x000000000000012a,
7 	0x000000000000123a,
8 	0x000000000001234a,
9 	0x000000000012345a,
10 	0x000000000123456a,
11 	0x000000001234567a,
12 	0x000000012345678a,
13 	0x000000123456789a,
14 	0x000001234567890a,
15 	0x000000000000000b,
16 	0x000000000000001b,
17 	0x000000000000012b,
18 	0x000000000000123b,
19 	0x000000000001234b,
20 	0x000000000012345b,
21 	0x000000000123456b,
22 	0x000000001234567b,
23 	0x000000012345678b,
24 	0x000000123456789b,
25 	0x000001234567890b,
26 	0x000000000000000c,
27 	0x000000000000001c,
28 	0x000000000000012c,
29 	0x000000000000123c,
30 	0x000000000001234c,
31 	0x000000000012345c,
32 	0x000000000123456c,
33 	0x000000001234567c,
34 	0x000000012345678c,
35 	0x000000123456789c,
36 	0x000001234567890c,
37 	0x000000000000000d,
38 	0x000000000000001d,
39 	0x000000000000012d,
40 	0x000000000000123d,
41 	0x000000000001234d,
42 	0x000000000012345d,
43 	0x000000000123456d,
44 	0x000000001234567d,
45 	0x000000012345678d,
46 	0x000000123456789d,
47 	0x000001234567890d,
48 	0x000000000000000e,
49 	0x000000000000001e,
50 	0x000000000000012e,
51 	0x000000000000123e,
52 	0x000000000001234e,
53 	0x000000000012345e,
54 	0x000000000123456e,
55 	0x000000001234567e,
56 	0x000000012345678e,
57 	0x000000123456789e,
58 	0x000001234567890e,
59 	0x000000000000000f,
60 	0x000000000000001f,
61 	0x000000000000012f,
62 	0x000000000000123f,
63 	0x000000000001234f,
64 	0x000000000012345f,
65 	0x000000000123456f,
66 	0x000000001234567f,
67 	0x000000012345678f,
68 	0x000000123456789f,
69 	0x000001234567890f,
70         /* min and max */
71 	0x000002147483647c,
72 	0x000002147483648d,
73 
74 /* fixs390: we also need to check if invalid values cause a fixed-point-devide exception.
75    Not yet implemented. */
76 /*	0x000002147483648c,
77 	0x000002147483649d,
78 	0x00000000000000fa, */
79 
80 };
81 
82 
dec_to_hex(unsigned long * addr)83 static signed int dec_to_hex(unsigned long *addr)
84 {
85         register signed int res asm("2") = 0;
86         register unsigned long *_addr asm("4") = addr;
87 
88         asm volatile(
89         "       cvb %0,0(0,%1)"
90                 : "=d" (res) : "d" (_addr) : "memory");
91         return res & 0xffffffff;
92 }
93 
94 
95 
96 
main()97 int main()
98 {
99 	int i;
100 
101 	for (i = 0; i < sizeof(test) / sizeof(test[0]); i++)
102 	printf("%d\n", dec_to_hex(&test[i]));
103 	return 0;
104 }
105