What Every Engineer Should Know about Microcomputers (Hardware/Software Design: a Step-by-step Example, Second Edition,)