- cross compiling rust from apple silicon arm to x64 assembly
6
- emitting x64 assembly
7
- cargo show asm
8
- emitting rust assembly interleaved with rust using cargo show asm
9
- generating x64 intel assembly using rust and godbolt
10
- understanding stack frame memory allocation, stack pointer, rsp and sub
11
- variable assignment, mov and virtual registers
12
- assembly multiplication using imul
13
- storing local variables in the stack / stack frame memory for later use
14
- overflow checks and panickibng
15
- more calculations and some compiler optmizations
16
- understanding stack memory and primitive sizes and fixed memory
17
- jmp's are goto's in disguise
18
- more stack memory and compiler optimizations
19
- printing the result
20
- To Be Continued
Description:
Dive deep into the inner workings of Rust by exploring its assembly language output in this comprehensive 28-minute tutorial. Learn how to generate assembly from Rust code, understand stack memory allocation, and decipher Rust's representation in assembly. Gain proficiency in assembly language statements, registers, stack and memory storage, and walk through Rust-generated assembly step-by-step. Convert a simple Rust program to assembly using native compilation for Apple Silicon and cross-compilation to x64, utilizing tools like Godbolt for easier comprehension. Analyze the generated assembly line-by-line, uncovering the underlying processes. Master advanced concepts such as stack frame memory allocation, variable assignment, multiplication in assembly, overflow checks, compiler optimizations, and more. By the end, you'll have a solid foundation for becoming an advanced Rust programming expert with a deep understanding of its low-level operations.
Under the Hood of Rust Language with Assembly - Rust Programming Tutorial