- simple sums (x)
- reverse a string (x)
- arthmetic calculator, with + - * / and parans (x)
- histogram of letters (x)
- binary search trees (x)
- binary search
- try growing stack upwards in statically allocated memory
- malloc
- linked lists
- hash table
- write wc
- quicksort
- arithmetics (add, subtract)
- arithmetics 2 (multiply, divide)
- addressing memory
- labels and branching
- calls
- stack
- stack pointer
- program counter
- system calls
- library calls
- xmm_ instructions
- DIY malloc
- time-travel debugging
- Recursion
- https://flint.cs.yale.edu/cs422/reference/index.html
- https://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/
- https://flint.cs.yale.edu/cs422/readings/pcasm-book.pdf
- https://www.logix.cz/michal/doc/i386/
- https://www.amazon.com/Art-Assembly-Language-2nd/dp/1593272073
- http://ref.x86asm.net/
- https://en.wikipedia.org/wiki/X86_instruction_listings
- https://visualgdb.com/gdbreference/commands/x
- https://opensource.apple.com/source/lldb/lldb-159/www/lldb-gdb.html
- https://en.wikibooks.org/wiki/X86_Assembly
- https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_toc.html
- https://stackoverflow.com/questions/12122446/how-does-c-linking-work-in-practice/30507725#30507725
- https://syscalls64.paolostivanin.com/
- Eucid's GCD algorithm
- Simple recursive descent parser
- How to snapshot/restore entire process memory?
- How to read from rflags/eflags?
- How to manage registers? What strategy to use when choosing between stack memory vs registers?
- https://stackoverflow.com/questions/35834937/error-in-backend-32-bit-absolute-addressing-is-not-supported-in-64-bit-mode
- https://stackoverflow.com/questions/25799551/why-does-this-movq-instruction-work-on-linux-and-not-osx/25804623#25804623
- https://github.com/aidansteele/osx-abi-macho-file-format-reference
- otool --help
- https://en.wikipedia.org/wiki/Mach-O
- https://************.com/elf-hello-world
- man ld
- man as
- https://en.wikibooks.org/wiki/X86_Assembly/Data_Transfer