This document contains questions and answers about assembly language. It defines assembly language as an intermediate-level programming language that is lower than high-level languages like Java but higher than machine language. Assembly language provides a symbolic representation of the machine code needed to program a given CPU architecture. The document also discusses why assembly language is necessary to learn, such as for optimizing performance-critical code, and how assembly language is learned by focusing on the basic operations and psychology of the computer.