В данном приложении приведена основная информация по построению программ с конкретными моделями памяти и форматами выполняемого кода.
Упрощенные директивы определения сегмента
В следующей таблице показаны используемые по умолчанию для каждой модели памяти атрибуты сегмента.
Используемые по умолчанию сегменты и типы для модели памяти TINY
| Директива | Имя | Выравнивание | Комбинирование | Класс | DGROUP |
|---|
| .CODE | _TEXT | WORD | PUBLIC | "CODE" | DGROUP | | .FARDATA | FAR_DATA | PARA | private | "FAR_DATA" | | | .FARDATA? | FAR_BSS | PARA | private | "FAR_BSS" | | | .DATA | _DATA | WORD | PUBLIC | "DATA" | DGROUP | | .CONST | CONST | WORD | PUBLIC | "CONST" | DGROUP | | .DATA? | _BSS | WORD | PUBLIC | "BSS" | DGROUP | | STACK* | STACK | PARA | STACK | "STACK" | DGROUP | | * - STACK не подразумевается размещенным в DGROUP или FARSTACK, заданным в директиве MODEL. |
Используемые по умолчанию сегменты и типы для модели памяти SMALL
| Директива | Имя | Выравнивание | Комбинирование | Класс | Группа |
|---|
| .CODE | _TEXT | WORD | PUBLIC | "CODE" | | | .FARDATA | FAR_DATA | PARA | private | "FAR_DATA" | | | .FARDATA? | FAR_BSS | PARA | private | "FAR_BSS" | | | .DATA | _DATA | WORD | PUBLIC | "DATA" | DGROUP | | .CONST | CONST | WORD | PUBLIC | "CONST; | DGROUP | | .DATA? | _BSS | WORD | PUBLIC | "BSS" | DGROUP | | STACK* | STACK | PARA | STACK | "STACK" | DGROUP | | * - STACK не подразумевается размещенным в DGROUP или FARSTACK, заданным в директиве MODEL. |
Используемые по умолчанию сегменты и типы для модели памяти MEDIUM| Директива | Имя | Выравнивание | Комбинирование | Класс | Группа |
|---|
| .CODE | имя_TEXT | WORD | PUBLIC | "CODE" | | | .FARDATA | FAR_DATA | PARA | private | "FAR_DATA" | | | .FARDATA? | FAR_BSS | PARA | private | "FAR_BSS" | | | .DATA | _DATA | WORD | PUBLIC | "DATA" | DGROUP | | .CONST | CONST | WORD | PUBLIC | "CONST; | DGROUP | | .DATA? | _BSS | WORD | PUBLIC | "BSS" | DGROUP | | STACK* | STACK | PARA | STACK | "STACK" | DGROUP | | * - STACK не подразумевается размещенным в DGROUP или FARSTACK, заданным в директиве MODEL. |
Используемые по умолчанию сегменты и типы для модели памяти COMPACT| Директива | Имя | Выравнивание | Комбинирование | Класс | Группа |
|---|
| .CODE | имя_TEXT | WORD | PUBLIC | "CODE" | | | .FARDATA | FAR_DATA | PARA | private | "FAR_DATA" | | | .FARDATA? | FAR_BSS | PARA | private | "FAR_BSS" | | | .DATA | _DATA | WORD | PUBLIC | "DATA" | DGROUP | | .CONST | CONST | WORD | PUBLIC | "CONST; | DGROUP | | .DATA? | _BSS | WORD | PUBLIC | "BSS" | DGROUP | | STACK* | STACK | PARA | STACK | "STACK" | DGROUP | | * - STACK не подразумевается размещенным в DGROUP или FARSTACK, заданным в директиве MODEL. |
Используемые по умолчанию сегменты и типы для модели памяти LARGE или HUGE| Директива | Имя | Выравнивание | Комбинирование | Класс | Группа |
|---|
| .CODE | имя_TEXT | WORD | PUBLIC | "CODE" | | | .FARDATA | FAR_DATA | PARA | private | "FAR_DATA" | | | .FARDATA? | FAR_BSS | PARA | private | "FAR_BSS" | | | .DATA | _DATA | WORD | PUBLIC | "DATA" | DGROUP | | .CONST | CONST | WORD | PUBLIC | "CONST; | DGROUP | | .DATA? | _BSS | WORD | PUBLIC | "BSS" | DGROUP | | STACK* | STACK | PARA | STACK | "STACK" | DGROUP | | * - STACK не подразумевается размещенным в DGROUP или FARSTACK, заданным в директиве MODEL. |
Используемые по умолчанию сегменты и типы для модели памяти HUGE (TCHUGE) Borland C++| Директива | Имя | Выравнивание | Комбинирование | Класс | Группа |
|---|
| .CODE | имя_TEXT | WORD | PUBLIC | "CODE" | | | .FARDATA | FAR_DATA | PARA | private | "FAR_DATA" | | | .FARDATA? | FAR_BSS | PARA | private | "FAR_BSS" | | | .DATA | имя_DATA | PARA | private | "DATA" | | | STACK* | STACK | PARA | STACK | "STACK" | | | * - STACK не подразумевается размещенным в DGROUP или FARSTACK, заданным в директиве MODEL. |
1 2 3
8 8 8
| |