rpn/src/debug.h

46 lines
1.2 KiB
C
Raw Normal View History

2015-03-01 16:02:23 +01:00
static void dump8(unsigned char* to_dump, unsigned long offset,
unsigned long size)
{
const int block_size = 1;
const int block_per_line = 16;
int max_line = size / block_size;
2015-05-19 17:50:36 +02:00
unsigned char mychar;
int i;
int j;
2015-03-01 16:02:23 +01:00
for (i = 0; i < max_line; i++)
2015-05-19 17:50:36 +02:00
{
2015-03-01 16:02:23 +01:00
if ((i % block_per_line) == 0)
2015-05-19 17:50:36 +02:00
{
if (i > 0)
{
printf(" ");
2015-03-01 16:02:23 +01:00
for (j = i - block_per_line; j < i; j++)
2015-05-19 17:50:36 +02:00
{
2015-03-01 16:02:23 +01:00
mychar = *(to_dump + j);
2015-05-19 17:50:36 +02:00
if ((mychar < 32) || (mychar >= 127))
mychar = '.';
printf("%c", mychar);
}
}
2015-03-01 16:02:23 +01:00
printf("\n%08lX:", offset + i * block_size);
2015-05-19 17:50:36 +02:00
}
2015-03-01 16:02:23 +01:00
printf(" %02hhX", *(to_dump + i));
2015-05-19 17:50:36 +02:00
}
if (i > 0)
{
printf(" ");
2015-03-01 16:02:23 +01:00
for (j = (i >= block_per_line) ? (i - block_per_line) : 0; j < i; j++)
2015-05-19 17:50:36 +02:00
{
2015-03-01 16:02:23 +01:00
mychar = *(to_dump + j);
2015-05-19 17:50:36 +02:00
if ((mychar < 32) || (mychar >= 127))
mychar = '.';
printf("%c", mychar);
}
}
printf("\n");
2015-03-01 16:02:23 +01:00
}
2017-04-29 15:38:34 +02:00
//
#define TRACE(x) cout<<__FUNCTION__<<": "<<(x)<<endl;
#define TRACE2(x, y) cout<<__FUNCTION__<<": "<<(x)<<(y)<<endl;