This course aims at providing students with the foundation and techniques required to interpret, analyze, verify, and troubleshoot microprocessor circuits and programs as well as low-level language programming of the microprocessors and different peripherals. The topics covered include microcomputer organization and operation, evaluation of microprocessor, ALU, register, instruction execution, bus operation, memory array design, and interfacing. Architecture: the architecture of 8086, addressing modes, assembler directives. Instruction sets: data movement instructions, arithmetic instructions, logic and branch instructions, machine control instructions, system design, and interrupts. Assembly language programming. Hardware specifications. Interfacing with systems: programmable peripheral interface (PPI), programmable interval timer (PIT), programmable interrupt controller (PIC).