80X86 IBM PC and Compatible Computers: Assembly Language, Design, and Interfacing Volumes I & II (4th Edition)