Skip to content

Instantly share code, notes, and snippets.

@lupyuen
Last active February 2, 2024 13:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lupyuen/55a4d4cae26994aa673e6d8451716b27 to your computer and use it in GitHub Desktop.
Save lupyuen/55a4d4cae26994aa673e6d8451716b27 to your computer and use it in GitHub Desktop.
TCC WebAssembly NodeJS Log (NuttX QEMU). See https://github.com/lupyuen/tcc-riscv32-wasm
$ node zig/test-nuttx.js
compile_program: start
compile_program: options=["-c","-r","hello.c"]
compile_program: code=
int main(int argc, char *argv[])
{
// Make NuttX System Call to write(fd, buf, buflen)
const unsigned int nbr = 61; // SYS_write
const void *parm1 = 1; // File Descriptor (stdout)
const void *parm2 = "Hello, World!!\n"; // Buffer
const void *parm3 = 15; // Buffer Length
// Execute ECALL for System Call to NuttX Kernel
register long r0 asm("a0") = (long)(nbr);
register long r1 asm("a1") = (long)(parm1);
register long r2 asm("a2") = (long)(parm2);
register long r3 asm("a3") = (long)(parm3);
asm volatile
(
// Load 61 to Register A0 (SYS_write)
"addi a0, zero, 61 \n"
// Load 1 to Register A1 (File Descriptor)
"addi a1, zero, 1 \n"
// Load 0xc0101000 to Register A2 (Buffer)
"lui a2, 0xc0 \n"
"addiw a2, a2, 257 \n"
"slli a2, a2, 0xc \n"
// Load 15 to Register A3 (Buffer Length)
"addi a3, zero, 15 \n"
// ECALL for System Call to NuttX Kernel
"ecall \n"
// NuttX needs NOP after ECALL
".word 0x0001 \n"
// Input+Output Registers: None
// Input-Only Registers: A0 to A3
// Clobbers the Memory
:
: "r"(r0), "r"(r1), "r"(r2), "r"(r3)
: "memory"
);
// TODO: TCC says this is invalid
// asm volatile("nop" : "=r"(r0));
// Loop Forever
for(;;) {}
return 0;
}
compile_program: options[0]=-c
compile_program: options[1]=-r
compile_program: options[2]=hello.c
sem_init: sem=tcc-wasm.sem_t@10d028, pshared=0, value=1
sem_wait: sem=tcc-wasm.sem_t@10d028
sem_post: sem=tcc-wasm.sem_t@10d028
format_string0: size=128, format=tcc:
vsnprintf: return str=tcc:
format_string0: size=123, format=warning:
vsnprintf: return str=warning:
format_string1: size=114, format=-%s: overriding compiler action already specified, a=r
vsnprintf: return str=-r: overriding compiler action already specified
format_string1: size=0, format=%s
, a=tcc: warning: -r: overriding compiler action already specified
fprintf: stream=tcc-wasm.FILE@2
tcc: warning: -r: overriding compiler action already specified
open: path=hello.c, oflag=0, return fd=3
sem_wait: sem=tcc-wasm.sem_t@10d028
TODO: setjmp
TODO: sscanf: str=0.9.27, format=%d.%d.%d
format_string1: size=128, format=#define __TINYC__ %d
, a=1991381697
vsnprintf: return str=#define __TINYC__ 1991381697
format_string2: size=99, format=#define %s%s
, a0=__riscv, a1= 1
vsnprintf: return str=#define __riscv 1
format_string2: size=81, format=#define %s%s
, a0=__riscv_xlen 64, a1=
vsnprintf: return str=#define __riscv_xlen 64
format_string2: size=185, format=#define %s%s
, a0=__riscv_flen 64, a1=
vsnprintf: return str=#define __riscv_flen 64
format_string2: size=161, format=#define %s%s
, a0=__riscv_div, a1= 1
vsnprintf: return str=#define __riscv_div 1
format_string2: size=139, format=#define %s%s
, a0=__riscv_mul, a1= 1
vsnprintf: return str=#define __riscv_mul 1
format_string2: size=117, format=#define %s%s
, a0=__riscv_fdiv, a1= 1
vsnprintf: return str=#define __riscv_fdiv 1
format_string2: size=94, format=#define %s%s
, a0=__riscv_fsqrt, a1= 1
vsnprintf: return str=#define __riscv_fsqrt 1
format_string2: size=326, format=#define %s%s
, a0=__riscv_float_abi_double, a1= 1
vsnprintf: return str=#define __riscv_float_abi_double 1
format_string2: size=291, format=#define %s%s
, a0=__linux__, a1= 1
vsnprintf: return str=#define __linux__ 1
format_string2: size=271, format=#define %s%s
, a0=__linux, a1= 1
vsnprintf: return str=#define __linux 1
format_string2: size=253, format=#define %s%s
, a0=__unix__, a1= 1
vsnprintf: return str=#define __unix__ 1
format_string2: size=234, format=#define %s%s
, a0=__unix, a1= 1
vsnprintf: return str=#define __unix 1
format_string2: size=217, format=#define %s%s
, a0=__CHAR_UNSIGNED__, a1= 1
vsnprintf: return str=#define __CHAR_UNSIGNED__ 1
format_string1: size=189, format=#define __SIZEOF_POINTER__ %d
, a=8
vsnprintf: return str=#define __SIZEOF_POINTER__ 8
format_string1: size=160, format=#define __SIZEOF_LONG__ %d
, a=8
vsnprintf: return str=#define __SIZEOF_LONG__ 8
format_string2: size=134, format=#define %s%s
, a0=__STDC__, a1= 1
vsnprintf: return str=#define __STDC__ 1
format_string1: size=115, format=#define __STDC_VERSION__ %dL
, a=199901
vsnprintf: return str=#define __STDC_VERSION__ 199901L
format_string1: size=356, format=#define __BASE_FILE__ "%s"
, a=hello.c
vsnprintf: return str=#define __BASE_FILE__ "hello.c"
read: fd=3, nbyte=8192
read: return buf=
int main(int argc, char *argv[])
{
// Make NuttX System Call to write(fd, buf, buflen)
const unsigned int nbr = 61; // SYS_write
const void *parm1 = 1; // File Descriptor (stdout)
const void *parm2 = "Hello, World!!\n"; // Buffer
const void *parm3 = 15; // Buffer Length
// Execute ECALL for System Call to NuttX Kernel
register long r0 asm("a0") = (long)(nbr);
register long r1 asm("a1") = (long)(parm1);
register long r2 asm("a2") = (long)(parm2);
register long r3 asm("a3") = (long)(parm3);
asm volatile
(
// Load 61 to Register A0 (SYS_write)
"addi a0, zero, 61 \n"
// Load 1 to Register A1 (File Descriptor)
"addi a1, zero, 1 \n"
// Load 0xc0101000 to Register A2 (Buffer)
"lui a2, 0xc0 \n"
"addiw a2, a2, 257 \n"
"slli a2, a2, 0xc \n"
// Load 15 to Register A3 (Buffer Length)
"addi a3, zero, 15 \n"
// ECALL for System Call to NuttX Kernel
"ecall \n"
// NuttX needs NOP after ECALL
".word 0x0001 \n"
// Input+Output Registers: None
// Input-Only Registers: A0 to A3
// Clobbers the Memory
:
: "r"(r0), "r"(r1), "r"(r2), "r"(r3)
: "memory"
);
// TODO: TCC says this is invalid
// asm volatile("nop" : "=r"(r0));
// Loop Forever
for(;;) {}
return 0;
}
format_string2: size=128, format=%s:%d: , a0=hello.c, a1=6
vsnprintf: return str=hello.c:6:
format_string0: size=117, format=warning:
vsnprintf: return str=warning:
format_string0: size=108, format=assignment makes pointer from integer without a cast
vsnprintf: return str=assignment makes pointer from integer without a cast
format_string1: size=0, format=%s
, a=hello.c:6: warning: assignment makes pointer from integer without a cast
fprintf: stream=tcc-wasm.FILE@2
hello.c:6: warning: assignment makes pointer from integer without a cast
format_string1: size=0, format=L.%u, a=0
sprintf: return str=L.0
format_string1: size=256, format=.rela%s, a=.text
snprintf: return str=.rela.text
format_string2: size=128, format=%s:%d: , a0=hello.c, a1=8
vsnprintf: return str=hello.c:8:
format_string0: size=117, format=warning:
vsnprintf: return str=warning:
format_string0: size=108, format=assignment makes pointer from integer without a cast
vsnprintf: return str=assignment makes pointer from integer without a cast
format_string1: size=0, format=%s
, a=hello.c:8: warning: assignment makes pointer from integer without a cast
fprintf: stream=tcc-wasm.FILE@2
hello.c:8: warning: assignment makes pointer from integer without a cast
read: fd=3, nbyte=8192
read: return buf=
close: fd=3
sem_post: sem=tcc-wasm.sem_t@10d028
format_string1: size=1024, format=%s, a=hello.c
snprintf: return str=hello.c
unlink: path=a.out
open: path=a.out, oflag=577, return fd=4
fdopen: fd=4, mode=wb, return FILE=5
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 7F 45 4C 46 02 01 01 00 00 00 00 00 00 00 00 00 .ELF............
0016: 01 00 F3 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
0032: 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 ................
0048: 04 00 00 00 40 00 00 00 00 00 40 00 09 00 08 00 ....@.....@.....
fwrite: size=1, nmemb=154, stream=tcc-wasm.FILE@5
0000: 13 01 01 FA 23 3C 11 04 23 38 81 04 13 04 01 06 ....#<..#8......
0016: 13 00 00 00 23 34 A4 FE 23 30 B4 FE 1B 05 D0 03 ....#4..#0......
0032: 23 2E A4 FC 1B 05 10 00 23 38 A4 FC 17 05 00 00 #.......#8......
0048: 13 05 05 00 23 34 A4 FC 1B 05 F0 00 23 30 A4 FC ....#4......#0..
0064: 03 25 C4 FD 13 15 05 02 13 55 05 02 23 3C A4 FA .%.......U..#<..
0080: 03 35 04 FD 23 38 A4 FA 03 35 84 FC 23 34 A4 FA .5..#8...5..#4..
0096: 03 35 04 FC 23 30 A4 FA 13 05 D0 03 93 05 10 00 .5..#0..........
0112: 37 06 0C 00 1B 06 16 10 13 16 C6 00 93 06 F0 00 7...............
0128: 73 00 00 00 01 00 6F 00 00 00 83 30 81 05 03 34 s.....o....0...4
0144: 01 05 13 01 01 06 67 80 00 00 ......g...
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fwrite: size=1, nmemb=16, stream=tcc-wasm.FILE@5
0000: 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 21 0A 00 Hello, World!!..
fwrite: size=1, nmemb=120, stream=tcc-wasm.FILE@5
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 01 00 00 00 04 00 F1 FF ................
0032: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 0E 00 00 00 01 00 03 00 00 00 00 00 00 00 00 00 ................
0064: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 ................
0080: 2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ,...............
0096: 09 00 00 00 12 00 01 00 00 00 00 00 00 00 00 00 ................
0112: 9A 00 00 00 00 00 00 00 ........
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fwrite: size=1, nmemb=18, stream=tcc-wasm.FILE@5
0000: 00 68 65 6C 6C 6F 2E 63 00 6D 61 69 6E 00 4C 2E .hello.c.main.L.
0016: 30 00 0.
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fputc: c=0x00, stream=tcc-wasm.FILE@5
fwrite: size=1, nmemb=48, stream=tcc-wasm.FILE@5
0000: 2C 00 00 00 00 00 00 00 17 00 00 00 02 00 00 00 ,...............
0016: 00 00 00 00 00 00 00 00 30 00 00 00 00 00 00 00 ........0.......
0032: 18 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 00 2E 74 65 78 74 00 2E 64 61 74 61 00 2E 64 61 ..text..data..da
0016: 74 61 2E 72 6F 00 2E 62 73 73 00 2E 73 79 6D 74 ta.ro..bss..symt
0032: 61 62 00 2E 73 74 72 74 61 62 00 2E 72 65 6C 61 ab..strtab..rela
0048: 2E 74 65 78 74 00 2E 73 68 73 74 72 74 61 62 00 .text..shstrtab.
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0032: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 01 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 ........@.......
0032: 9A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 07 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 E0 00 00 00 00 00 00 00 ................
0032: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 0D 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 E0 00 00 00 00 00 00 00 ................
0032: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 16 00 00 00 08 00 00 00 03 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 F0 00 00 00 00 00 00 00 ................
0032: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 1B 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 F0 00 00 00 00 00 00 00 ................
0032: 78 00 00 00 00 00 00 00 06 00 00 00 04 00 00 00 x...............
0048: 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 23 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 #...............
0016: 00 00 00 00 00 00 00 00 70 01 00 00 00 00 00 00 ........p.......
0032: 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 2B 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 +...............
0016: 00 00 00 00 00 00 00 00 90 01 00 00 00 00 00 00 ................
0032: 30 00 00 00 00 00 00 00 05 00 00 00 01 00 00 00 0...............
0048: 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 36 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 6...............
0016: 00 00 00 00 00 00 00 00 C0 01 00 00 00 00 00 00 ................
0032: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @...............
0048: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
close: stream=tcc-wasm.FILE@5
a.out: 1088 bytes
0000: 7F 45 4C 46 02 01 01 00 00 00 00 00 00 00 00 00 .ELF............
0016: 01 00 F3 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
0032: 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 ................
0048: 04 00 00 00 40 00 00 00 00 00 40 00 09 00 08 00 ....@.....@.....
0064: 13 01 01 FA 23 3C 11 04 23 38 81 04 13 04 01 06 ....#<..#8......
0080: 13 00 00 00 23 34 A4 FE 23 30 B4 FE 1B 05 D0 03 ....#4..#0......
0096: 23 2E A4 FC 1B 05 10 00 23 38 A4 FC 17 05 00 00 #.......#8......
0112: 13 05 05 00 23 34 A4 FC 1B 05 F0 00 23 30 A4 FC ....#4......#0..
0128: 03 25 C4 FD 13 15 05 02 13 55 05 02 23 3C A4 FA .%.......U..#<..
0144: 03 35 04 FD 23 38 A4 FA 03 35 84 FC 23 34 A4 FA .5..#8...5..#4..
0160: 03 35 04 FC 23 30 A4 FA 13 05 D0 03 93 05 10 00 .5..#0..........
0176: 37 06 0C 00 1B 06 16 10 13 16 C6 00 93 06 F0 00 7...............
0192: 73 00 00 00 01 00 6F 00 00 00 83 30 81 05 03 34 s.....o....0...4
0208: 01 05 13 01 01 06 67 80 00 00 00 00 00 00 00 00 ......g.........
0224: 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 21 0A 00 Hello, World!!..
0240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0256: 00 00 00 00 00 00 00 00 01 00 00 00 04 00 F1 FF ................
0272: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0288: 0E 00 00 00 01 00 03 00 00 00 00 00 00 00 00 00 ................
0304: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 ................
0320: 2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ,...............
0336: 09 00 00 00 12 00 01 00 00 00 00 00 00 00 00 00 ................
0352: 9A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0368: 00 68 65 6C 6C 6F 2E 63 00 6D 61 69 6E 00 4C 2E .hello.c.main.L.
0384: 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0...............
0400: 2C 00 00 00 00 00 00 00 17 00 00 00 02 00 00 00 ,...............
0416: 00 00 00 00 00 00 00 00 30 00 00 00 00 00 00 00 ........0.......
0432: 18 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 ................
0448: 00 2E 74 65 78 74 00 2E 64 61 74 61 00 2E 64 61 ..text..data..da
0464: 74 61 2E 72 6F 00 2E 62 73 73 00 2E 73 79 6D 74 ta.ro..bss..symt
0480: 61 62 00 2E 73 74 72 74 61 62 00 2E 72 65 6C 61 ab..strtab..rela
0496: 2E 74 65 78 74 00 2E 73 68 73 74 72 74 61 62 00 .text..shstrtab.
0512: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0528: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0544: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0576: 01 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 ................
0592: 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 ........@.......
0608: 9A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0624: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0640: 07 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 ................
0656: 00 00 00 00 00 00 00 00 E0 00 00 00 00 00 00 00 ................
0672: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0688: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0704: 0D 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 ................
0720: 00 00 00 00 00 00 00 00 E0 00 00 00 00 00 00 00 ................
0736: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0752: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0768: 16 00 00 00 08 00 00 00 03 00 00 00 00 00 00 00 ................
0784: 00 00 00 00 00 00 00 00 F0 00 00 00 00 00 00 00 ................
0800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0816: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0832: 1B 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ................
0848: 00 00 00 00 00 00 00 00 F0 00 00 00 00 00 00 00 ................
0864: 78 00 00 00 00 00 00 00 06 00 00 00 04 00 00 00 x...............
0880: 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 ................
0896: 23 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 #...............
0912: 00 00 00 00 00 00 00 00 70 01 00 00 00 00 00 00 ........p.......
0928: 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0944: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0960: 2B 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 +...............
0976: 00 00 00 00 00 00 00 00 90 01 00 00 00 00 00 00 ................
0992: 30 00 00 00 00 00 00 00 05 00 00 00 01 00 00 00 0...............
1008: 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 ................
1024: 36 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 6...............
1040: 00 00 00 00 00 00 00 00 C0 01 00 00 00 00 00 00 ................
1056: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @...............
1072: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
ptr=18219008
main: len=1088
TCC Output saved to /tmp/a.out
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment