| 1 |
/* ascii.c — ASCII art and character table for Pactor64 */ |
| 2 |
#include "libc.h" |
| 3 |
|
| 4 |
int main(int argc, char **argv) { |
| 5 |
printf("=== ASCII Art ===\n\n"); |
| 6 |
printf(" /\\\\_/\\ \n"); |
| 7 |
printf(" ( o.o ) \n"); |
| 8 |
printf(" > ^ < \n"); |
| 9 |
printf(" /| |\\ \n"); |
| 10 |
printf(" (_| |_)\n"); |
| 11 |
printf(" Pactor64 Cat\n\n"); |
| 12 |
|
| 13 |
printf("=== ASCII Table ===\n"); |
| 14 |
printf("Dec Hex Chr Dec Hex Chr Dec Hex Chr\n"); |
| 15 |
printf("--- --- --- --- --- --- --- --- ---\n"); |
| 16 |
|
| 17 |
for (int row = 32; row < 48; row++) { |
| 18 |
for (int col = 0; col < 3; col++) { |
| 19 |
int c = row + col * 16; |
| 20 |
if (c < 127) |
| 21 |
printf("%3d %02x %c ", c, c, c); |
| 22 |
} |
| 23 |
printf("\n"); |
| 24 |
} |
| 25 |
|
| 26 |
printf("\n=== Memory Layout Demo ===\n"); |
| 27 |
int stack_var = 42; |
| 28 |
int *heap_var = (int *)malloc(sizeof(int)); |
| 29 |
*heap_var = 99; |
| 30 |
printf(" Stack variable: %d (addr ~%lx)\n", stack_var, (unsigned long)&stack_var); |
| 31 |
printf(" Heap variable: %d (addr ~%lx)\n", *heap_var, (unsigned long)heap_var); |
| 32 |
free(heap_var); |
| 33 |
|
| 34 |
printf("\nDone!\n"); |
| 35 |
return 0; |
| 36 |
} |
| 37 |
|