## ALP Programming Guide and Reference

[prev][next][parent][TOC]

### SEGMENT (Open a Program Information Segment)

Defines or reopens a segment called Segment-Name which will contain all subsequently emitted code or data.

Syntax

    Segment - Name   SEGMENT   [ align ] [ combine ] [ use ] [ ' class ' ]

Remarks

A segment definition may be followed by zero or more segment attributes, at most one from each of the following selections:

align Instructs the linker to align the segment at the next align boundary. One of:

BYTE The next 8-bit boundary.
DWORD The next 32-bit boundary.
PAGE The next 256-byte boundary (4096 under 32-bit OS/2).
PARA The next 16-byte boundary (default).
WORD The next 16-bit boundary.

combine Controls how the linker will combine this segment with identically- named segments from other modules. One of:

AT address Locates the segment at the absolute paragraph given by address.
COMMON Unioned with segments from other modules.
PRIVATE Will not be combined with other segments (default).
PUBLIC Concatenated to segments from other modules.
STACK Concatenated to segments from other modules. At load time:
SS=beginning of segment
SS:(E)SP=end of segment

use Word size of the segment.

USE16 The segment will have a 16-bit word size.
USE32 The segment will have a 32-bit word size.

'class' Instructs the linker to order segments according to the class name given by 'class'. Segments will not be combined if their class names differ.