Overview
Syllabus
- introduction
- create our rust project
- target folder and rust compile
- emitting rust assembly during compile
- cross compiling rust from apple silicon arm to x64 assembly
- emitting x64 assembly
- cargo show asm
- emitting rust assembly interleaved with rust using cargo show asm
- generating x64 intel assembly using rust and godbolt
- understanding stack frame memory allocation, stack pointer, rsp and sub
- variable assignment, mov and virtual registers
- assembly multiplication using imul
- storing local variables in the stack / stack frame memory for later use
- overflow checks and panickibng
- more calculations and some compiler optmizations
- understanding stack memory and primitive sizes and fixed memory
- jmp's are goto's in disguise
- more stack memory and compiler optimizations
- printing the result
- To Be Continued
Taught by
Chris Hay