В данном приложении приведена основная информация по построению программ с конкретными моделями памяти и форматами выполняемого кода.
Упрощенные директивы определения сегмента
В следующей таблице показаны используемые по умолчанию для каждой модели памяти атрибуты сегмента.
Используемые по умолчанию сегменты и типы для модели памяти 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
| |