Simplified segmentation segment description

The following tables show the default segment attributes for memory
models defined with the MODEL directive:


Models TINY, SMALL, MEDIUM, COMPACT, LARGE, HUGE

Directive Segment name Align Combine Class Group
─────────────────────────────────────────────────────────────────
CODESEG _TEXT 1) Word PUBLIC 'CODE' 2)
FARDATA FAR_DATA Para private 'FAR_DATA'
UFARDATA FAR_BSS Para private 'FAR_BSS'
DATASEG _DATA Word PUBLIC 'DATA' DGROUP
CONST CONST Word PUBLIC 'CONST' DGROUP
UDATASEG _BSS Word PUBLIC 'BSS' DGROUP
STACK 3) STACK Para Stack 'STACK' DGROUP

Notes: 1) segment name = <module>_TEXT for MEDIUM, LARGE, HUGE
2) code segment included in DGROUP for TINY model
3) STACK not assumed to be in DGROUP if FARSTACK specified in
the MODEL statement


Model TCHUGE (Borland C++)

Directive Segment name Align Combine Class Group
─────────────────────────────────────────────────────────────────
CODESEG <module>_TEXT Word PUBLIC 'CODE'
FARDATA FAR_DATA Para private 'FAR_DATA'
UFARDATA FAR_BSS Para private 'FAR_BSS'
DATASEG <module>_DATA Para PUBLIC 'DATA'
STACK 1) STACK Para Stack 'STACK'

Note: 1) STACK is automatically FAR