It includes:
- Assembly code with comments explaining every instruction
- Every file has also its compiled and ready to run version.
- Online learning materials I've studied with
- My personal notes
Below you can also find repository tree and my environment setup and workflow.
Found it useful? Want more updates?
Show your support by giving a ⭐
I use Archlinux so all commands below may be specific for this OS.
My code editor is Neovim with config files mostly based on ChrisAtMachine's
For better window management I use Terminator and zsh shell with prompt off for better clarity and auto-suggestions.
To compile .asm files I use:
- NASM:
nasm -f elf32 -o hello_world.o hello_world.asm
- LD :
ld -m elf_i386 -o hello_world hello_world.o
Debugger : GDB I also tried Radare2 , but it didn't suit me.
man-pages for quick access to a command description
- Install:
sudo pacman -Sy man-pages
- Use:
man page_name
, for exampleman 2 write
unistd32.h file, located with mlocate
sudo pacman -Sy mlocate
// -Sy is important here, if you omit that you probably will have to runsudo ionice -c3 updatedb
locate unistd_32.h
- With a file located just display it, ( for me )
nvim /usr/include/asm/unistd_32.h