Table of contents : Cover......Page 1 Contents......Page 9 Preface......Page 6 PART I Overview......Page 15 1 Assembly Language......Page 16 PART II Computer Organization......Page 22 2 Digital Logic Circuits......Page 23 3 Memory Organization......Page 57 4 The IA-32 Architecture......Page 73 PART III Linux......Page 91 5 Installing Linux......Page 92 6 Using Linux......Page 126 PART IV NASM......Page 161 7 Installing and Using NASM......Page 162 8 Debugging Assembly Language Programs......Page 176 PART V Assembly Language......Page 194 9 A First Look at Assembly Language......Page 195 10 More on Assembly Language......Page 219 11 Writing Procedures......Page 238 12 More on Procedures......Page 261 13 Addressing Modes......Page 279 14 Arithmetic lnstructions......Page 297 15 Conditional Execution......Page 323 16 Logical and Bit Operations......Page 346 PART VI Advanced Assembly Language......Page 366 17 String Processing......Page 367 18 ASCII and BCD Arithmetic......Page 383 19 Recursion......Page 395 20 Protected-Mode Interrupt Processing......Page 406 21 High-Level Language Interface......Page 425 22 Floating-Point Operations......Page 444 APPENDICES......Page 460 A Number Systems......Page 461 B Character Representation......Page 472 C Programming Exercises......Page 476 D IA-32 Instruction Set......Page 483 E Glossary......Page 514 Index......Page 524