Morrisville, Syncfusion Inc, 2013. — 132 p.
This book is an introduction to x64 assembly language. This is the language used by almost
all modern desktop and laptop computers. x64 is a generic term for the newest generation of
the x86 CPU used by AMD, Intel, VIA, and other CPU manufacturers. x64 assembly has a
steep learning curve and very few concepts from high-level languages are applicable. It is
the most powerful language available to x64 CPU programmers, but it is not often the most
practical language.
An assembly language is the language of a CPU, but the numbers of the machine code are
replaced by easy-to-remember mnemonics. Instead of programming using pure
hexadecimal, such as 83 C4 04, programmers can use something easier to remember and
read, such as ADD ESP, 4, which adds 4 to ESP. The human readable version is read by a
program called an assembler, and then it is translated into machine code by a process called
assembling (analogous to compiling in high-level languages). A modern assembly language
is the result of both the physical CPU and the assembler. Modern assembly languages also
have high-level features such as macros and user-defined data types.
The Story behind the Succinctly Series of Books
Assembly Language
Why Learn Assembly?
Intended Audience
Assembly in Visual Studio
Inline Assembly in 32-Bit Applications
Native Assembly Files in C++
Additional Steps for x64
64-bit Code Example
Fundamentals
Skeleton of an x64 Assembly File
Skeleton of an x32 Assembly File
Comments
Destination and Source Operands
Segments
Labels
Anonymous Labels
Data Types
Little and Big Endian
Two’s and One’s Complement