1. An assembler is a language translator that accepts assembly language code as input and produces equivalent machine language code and information for the loader as output. 2. Assembly language has several advantages over high-level languages including faster speed, more efficient memory usage, and greater control over hardware operations through direct access to registers and memory. 3. Assembly language statements follow a specific format with sections for labels, mnemonics, operands, and comments. The assembler replaces mnemonics with opcodes and symbols with addresses to generate machine code.