This document describes 16 assembly language programs for the 8086 microprocessor. It includes programs that increment/decrement 8-bit and 16-bit numbers, take the 1's and 2's complement of numbers, add/subtract/multiply/divide 8-bit and 16-bit numbers, and manipulate strings. It also discusses the use of procedures, stacks, and macros in 8086 assembly language programming. Examples are provided to illustrate how to define and call procedures, use push/pop on the stack, and define macros with parameters.