The 8086 microprocessor: Architecture, software, and interfacing techniques