This project explores programming in assembly. As a side quest of mine it combines calling zig code from assembly and assembly code from Zig.
I had so much fun and learned a lot about linking, compilers, zig, assembly, system calls, calling conventions (both windows x86 and linux x86), I mean, it really fullfiled my heart. I had the time of my life.
- Pre-requisites:
- X86_64 machine
- Linux enviroment
- Zig 16.0.0 or higher. The code uses the (Juicy Main)[https://ziglang.org/download/0.16.0/release-notes.html#Juicy-Main].
- Nasm assembler.
Each exploration has a .asm, .zig and .sh file. To execute a particular example run the bash script ./[script-name].sh.
There are many explorations, but the ones I had the most fun with were those I read from stdin and wrote to stdout using syscalls in assembly or zig and invoking the code from the other side. Really fun and very bug prone.