Figure 1.1: The Game of Big Bux.
Figure 1.2: The Game of Assembly Language.
Figure 2.1: The anatomy of ∩≡
Figure 2.2: The anatomy of 76225 octal.
Figure 2.3: The anatomy of 3C0A9H.
Figure 3.1: Transistor switches and memory cells.
Figure 3.2: A RAM chip.
Figure 3.3: A 1-megabyte memory bank.
Figure 3.4: The CPU and memory.
Figure 4.1: Rotating disk storage.
Figure 4.2: The structure of a DOS text file.
Figure 4.3: What the assembler does.
Figure 4.4: The assembler and linker.
Figure 4.5: The assembly language development process.
Figure 4.6: A hex dump of SAM.TXT.
Figure 5.1: The NASM-IDE environment.
Figure 5.2: A NASM-IDE error message box.
Figure 5.3: When you exit without saving.
Figure 5.4: The error information window appears.
Figure 5.5: Running the executable program file.
Figure 5.6: The Open File dialog box.
Figure 5.7: The Find dialog box.
Figure 5.8: The Replace dialog box.
Figure 5.9: The Environment Options dialog box.
Figure 6.1: The 8080 memory model.
Figure 6.2: The 8080 memory model inside an 8086 memory system.
Figure 6.3: Seeing a megabyte through 64K blinders.
Figure 6.4: Memory addresses versus segment addresses.
Figure 6.5: Segments and offsets.
Figure 6.6: Extending the 16-bit general-purpose registers.
Figure 6.7: 8-bit, 16-bit, and 32-bit registers.
Figure 6.8: The real mode flat model.
Figure 6.9: The real mode segmented model.
Figure 6.10: The protected mode flat model.
Figure 6.11: The PC''s video refresh buffer.
Figure 7.1: How memory data is addressed.
Figure 8.1: The big picture of the real mode stack.
Figure 8.2: How the stack works.
Figure 8.3: The interrupt vector table.
Figure 8.4: Riding the interrupt vector into DOS.
Figure 8.5: Returning home from an interrupt.
Figure 9.1: Calling a procedure and returning.
Figure 9.2: Connecting globals and externals.
Figure 9.3: How macros work.
Figure 10.1: Bit numbering.
Figure 10.2: The anatomy of an AND instruction.
Figure 10.3: Using XOR to zero a register.
Figure 10.4: Using a lookup table.
Figure 10.5: Interrupt 11H configuration information.
Figure 11.1: Unpacked BCD digits.
Figure 12.1: How gcc builds Linux executables.
Figure 12.2: The structure of a Linux assembly language program.
Figure 13.1: A stack frame.
Figure 13.2: Protected mode memory addressing.
Figure 13.3: Linux command-line arguments.