mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-11 09:56:29 +00:00
105 lines
2.1 KiB
C
105 lines
2.1 KiB
C
#include <stdio.h>
|
|
|
|
static unsigned long test[] ={
|
|
0x000000000000000a,
|
|
0x000000000000001a,
|
|
0x000000000000012a,
|
|
0x000000000000123a,
|
|
0x000000000001234a,
|
|
0x000000000012345a,
|
|
0x000000000123456a,
|
|
0x000000001234567a,
|
|
0x000000012345678a,
|
|
0x000000123456789a,
|
|
0x000001234567890a,
|
|
0x000000000000000b,
|
|
0x000000000000001b,
|
|
0x000000000000012b,
|
|
0x000000000000123b,
|
|
0x000000000001234b,
|
|
0x000000000012345b,
|
|
0x000000000123456b,
|
|
0x000000001234567b,
|
|
0x000000012345678b,
|
|
0x000000123456789b,
|
|
0x000001234567890b,
|
|
0x000000000000000c,
|
|
0x000000000000001c,
|
|
0x000000000000012c,
|
|
0x000000000000123c,
|
|
0x000000000001234c,
|
|
0x000000000012345c,
|
|
0x000000000123456c,
|
|
0x000000001234567c,
|
|
0x000000012345678c,
|
|
0x000000123456789c,
|
|
0x000001234567890c,
|
|
0x000000000000000d,
|
|
0x000000000000001d,
|
|
0x000000000000012d,
|
|
0x000000000000123d,
|
|
0x000000000001234d,
|
|
0x000000000012345d,
|
|
0x000000000123456d,
|
|
0x000000001234567d,
|
|
0x000000012345678d,
|
|
0x000000123456789d,
|
|
0x000001234567890d,
|
|
0x000000000000000e,
|
|
0x000000000000001e,
|
|
0x000000000000012e,
|
|
0x000000000000123e,
|
|
0x000000000001234e,
|
|
0x000000000012345e,
|
|
0x000000000123456e,
|
|
0x000000001234567e,
|
|
0x000000012345678e,
|
|
0x000000123456789e,
|
|
0x000001234567890e,
|
|
0x000000000000000f,
|
|
0x000000000000001f,
|
|
0x000000000000012f,
|
|
0x000000000000123f,
|
|
0x000000000001234f,
|
|
0x000000000012345f,
|
|
0x000000000123456f,
|
|
0x000000001234567f,
|
|
0x000000012345678f,
|
|
0x000000123456789f,
|
|
0x000001234567890f,
|
|
/* min and max */
|
|
0x000002147483647c,
|
|
0x000002147483648d,
|
|
|
|
/* fixs390: we also need to check if invalid values cause a fixed-point-devide exception.
|
|
Not yet implemented. */
|
|
/* 0x000002147483648c,
|
|
0x000002147483649d,
|
|
0x00000000000000fa, */
|
|
|
|
};
|
|
|
|
|
|
static signed int dec_to_hex(unsigned long *addr)
|
|
{
|
|
register signed int res asm("2") = 0;
|
|
register unsigned long *_addr asm("4") = addr;
|
|
|
|
asm volatile(
|
|
" cvb %0,0(0,%1)"
|
|
: "=d" (res) : "d" (_addr) : "memory");
|
|
return res & 0xffffffff;
|
|
}
|
|
|
|
|
|
|
|
|
|
int main()
|
|
{
|
|
int i;
|
|
|
|
for (i = 0; i < sizeof(test) / sizeof(test[0]); i++)
|
|
printf("%d\n", dec_to_hex(&test[i]));
|
|
return 0;
|
|
}
|