This document discusses elements of assembly language programming including mnemonic operation codes, symbolic operands, data declaration, instruction format, assembly language statements like imperative, declarative, and assembler directives. It also summarizes the basic steps to develop an assembler including identifying necessary information, designing data structures, and determining necessary processing. Finally, it outlines the pass structure of an assembler including initializing data structures, reading statements, searching tables, evaluating operands, and generating target code.