For some strange reason, native applications always seem to crash in places where you don’t have source code. All you have is the raw disassembly to tell you what happened. Never fear! In this section, you’ll learn enough assembly language to survive and prosper in those situations. You’ll not only learn about the assembly language instructions the compiler uses, but also about how parameters are passed, calling conventions, branching, and vectorization. With both x86 and x64 covered, you’ll be prepared for any crash from now on.