Memory Model Programming & Segment Information

 	Model
	TINY	Data and code fit in one 64K segment.  All code and
		data are accessed via near pointers.
	SMALL	64k data segment max and 64k code segment max.	All
		code and data are accessed via near pointers.
	COMPACT	1Mb data segment max and 64K code segment max.	Code
		is accessed via near pointers, data is accessed via
		far pointers.  No array can be greater than 64K
	MEDIUM	64K data segment max and 1Mb code segment max.	Code is
		accessed via far pointers, data is accessed via	near pointers.
	LARGE	1Mb data segment max and 1Mb code segment max.	All
		code and data are accessed via far pointers.  No
		single element can be greater than 64K.
	HUGE	1Mb data segment max and 1Mb code segment max.	All
		code and data are accessed via far pointers.  This is
		the only model where arrays can be larger than 64K.
		In this mode is C will normalize all data pointers
		to avoid segment wrapping.

Small Memory Model

Directive Segment Alignment Combine Class .CODE _TEXT WORD PUBLIC 'CODE' .DATA _DATA WORD PUBLIC 'DATA' .CONST CONST WORD PUBLIC 'CONST' .DATA? _BSS WORD PUBLIC 'BSS' .STACK STACK PARA STACK 'STACK'

Compact Memory Model

Directive Segment Alignment Combine Class .CODE _TEXT WORD PUBLIC 'CODE' .FARDATA FAR_DATA PARA private 'FAR_DATA' .FARDATA? FAR_BSS PARA private 'FAR_BSS' .DATA _DATA WORD PUBLIC 'DATA' .CONST CONST WORD PUBLIC 'CONST' .DATA? _BSS WORD PUBLIC 'BSS' .STACK STACK PARA STACK 'STACK'

Medium Memory Model

Directive Segment Alignment Combine Class .CODE name_TEXT WORD PUBLIC 'CODE' .DATA _DATA WORD PUBLIC 'DATA' .CONST CONST WORD PUBLIC 'CONST' .DATA? _BSS WORD PUBLIC 'BSS' .STACK STACK PARA STACK 'STACK'

Large or Huge Memory Models

Directive Segment Alignment Combine Class .CODE name_TEXT WORD PUBLIC 'CODE' .FARDATA FAR_DATA PARA private 'FAR_DATA' .FARDATA? FAR_BSS PARA private 'FAR_BSS' .DATA _DATA WORD PUBLIC 'DATA' .CONST CONST WORD PUBLIC 'CONST' .DATA? _BSS WORD PUBLIC 'BSS' .STACK STACK PARA STACK 'STACK' - all segments fall into DGROUP except for ???_TEXT, FAR_DATA and FAR_BSS - see ASM DIRECTIVES