The 80x86 IBM PC and compatible computers assembly language, design, and interfacing - Muhammad Ali Mazidi (Prentice Hall, 2000)