main
branch that only contains the code and the commented
branch that contains the code with comments explaining what we do.nightly
version of the compiler.asm!
macro instead of the old LLVM syntax. Rewrote assembly from the AT&T dialect which was the default on the old syntax to the Intel dialect which is the default on the new syntax. Fixed issues with #[naked]
functions. All examples work as they should on the 1.60.0 nightly compiler.llvm_asm!
macro since we use the syntax used by llvm in this book. The new Rust syntax for inline assembly has now been merged into the nightly compiler and uses the asm!
macro, which would have caused problems for the examples in this book.debug
and release
builds without any issues on all platforms. Thanks to everyone for reporting issues they found.XMM
fields as 64 bits, but they are 128 bits which was an oversight on my part. Correcting this added some interesting material to that chapter but unfortunately also some complexity. However, it's now corrected and explained.