This document discusses computer languages and microprocessor-based systems. It describes how machine language uses binary instructions to directly control a processor's circuitry. Assembly language and high-level languages were developed to bridge the gap between machine language and what is convenient for humans. Assembly language uses symbolic names for operations and memory locations and converts to machine language via an assembler. High-level languages like Pascal and COBOL use expressions and symbols from English and convert to machine language via a compiler. Advantages of assembly language include better performance and access to hardware for some applications where speed and size are critical.