The 8086 microprocessor : architecture, software, and interfacing techniques