CONTENTS
CHAPTER 0: INTRODUCTION TO COMPUTING
CHAPTER 1: THE x86 MICROPROCESSOR
CHAPTER 2: ASSEMBLY LANGUAGE PROGRAMMING
CHAPTER 3: ARITHMETIC AND LOGIC INSTRUCTIONS AND PROGRAMS
CHAPTER 4: INT 21H AND INT 10H PROGRAMMING AND MACROS
CHAPTER 5: KEYBOARD AND MOUSE PROGRAMMING
CHAPTER 6: SIGNED NUMBERS, STRINGS, AND TABLES
CHAPTER 7: MODULES AND MODULAR PROGRAMMING
CHAPTER 8: 32-BIT PROGRAMMING FOR x86
CHAPTER 9: 8088, 80286 MICROPROCESSORS AND ISA BUS
CHAPTER 10: MEMORY AND MEMORY INTERFACING
CHAPTER 11: 8255 I/O PROGRAMMING
CHAPTER 12: INTERFACING TO LCD, MOTOR, ADC, AND SENSOR
CHAPTER 13: 8253/54 TIMER
CHAPTER 14: INTERRUPTS IN x86 PC
CHAPTER 15: DIRECT MEMORY ACCESS AND DMA CHANNELS IN x86 PC
CHAPTER 16: VIDEO AND VIDEO ADAPTERS
CHAPTER 17: SERIAL PORT PROGRAMMING WITH ASSEMBLY AND C#
CHAPTER 18: KEYBOARD AND PRINTER INTERFACING
CHAPTER 19: HARD DISKS
CHAPTER 20: THE IEEE FLOATING POINT AND x87 MATH PROCESSORS
CHAPTER 21: 386 MICROPROCESSOR: REAL vs. PROTECTED MODE
CHAPTER 22: HIGH-SPEED MEMORY DESIGN AND CACHE
CHAPTER 23: PENTIUM AND RISC PROCESSORS
CHAPTER 24: THE EVOLUTION OF x86: FROM 32-BIT TO 64-BIT
CHAPTER 25: SYSTEM DESIGN ISSUES AND FAILURE ANALYSIS
CHAPTER 26: ISA, PC104, AND PCI BUSES
CHAPTER 27: USB PORT PROGRAMMING
INDEX