Microprocessors and assembly language has been the most used methods of incorporating intelligence into automated devices. It is, therefore, necessary to develop a good understanding of their operation and how they can be used as building blocks for automated systems and control applications. This course explores the inner workings of a microprocessor from the programmer’s perspective and several laboratory exercises will be based on a microprocessor utilizing the assembly language.