x86 Assembly Language Programming

A clear description of x86 assembly language and assembly
language in general, including some stuff you hopefully know already.
You might prefer to read this on line, rather than print it out; it's a
quick read. Warning: This book uses "Intel" assembly syntax, in
which instructions are written "instr dst, src"; we will use
"AT&T" assembly syntax, in which they are written "instr src,
dst". You don't need to read the following sections, which will
not be needed for class: 1.3.6-1.3.7, 1.4, 1.5, 5, 6, and 7.2.

Much shorter than the current Intel Architecture manuals,
but describes most of the processor features we'll use. The original was
a flat text file that used the PC Line Drawing characters for
diagrams; this, and many other versions, are available on the
net. JOS uses the following 486-and-later features, which you
can read about in the IA-32 manuals: The
%cr0 register's WP bit (Volume 3).