As directivas SEGMENT e ENDS são usadas para identificar o grupo de dados ou de instruções que pretendemos que façam parte do mesmo segmento. Todas os dados ou instruções que aparecem entre a directiva SEGMENT e a directiva ENDS fazem parte do mesmo segmento lógico.
Um programa em linguagem Assembly do 8086 pode ter vários segmentos de dados e vários segmentos de código, no entanto no momento em que o executamos só trabalha com 4 segmentos físicos. São eles o code segment, o data segment, o stack segment e o extra segment. A directiva ASSUME indica ao assembler quais dos segmentos lógicos correspondem a cada um destes segmentos.