adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
і і всегда являются ближними (NEAR) иі
і і эквивалентны инициализированным дан-і
і і ным. і
і і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і .CONST і Эквивалентна директиве CONST. До-і
і UDATASEG і пускается только для режима MASM.і
і і Начинает или продолжает ближний илиі
і і не инициализируемый по умолчаниюі
і і сегмент данных. Соблюдайте осторож-і
і і ность и включайте в этот сегменті
і і только неинициализированные данные,і
і і в противном случае получаемая выпол-і
і і няемая программа будет иметь большийі
і і чем нужно размер. Описание распреде-і
і і ления неинициализированных данныхі
і і можно найти в Главе 12. і
Турбо Ассемблер 3.0/tasm/#1-2 = 136 =
і і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і .DATA? і Эквивалентна директиве UDATASEG.і
і і Действует только для режима MASM. і
і і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і STACK [размер] і Начинает или продолжает сегмент і
і і стека модуля. Необязательный пара-і
і і метр "размер" определяет объем ре-і
і і зервируемой для стека памяти (в сло-і
і і вах). Если вы не задаете размер,і
і і Турбо Ассемблер резервирует по умол-і
і і чанию 200h слов (1 килобайт). і
і і і
і і В режиме MASM все метки, код илиі
і і данные, следующие за операторомі
і і STACK, не будут рассматриваться какі
і і часть сегмента стека. Однако в режи-і
і і ме Ideal резервируется специальнаяі
і і область, и сегмент стека остаетсяі
і і открытым, благодаря чему вы можетеі
і і добавлять метки и другие неинициали-і
і і зированные данные. і
і і і
і і Директивы стека обычно требуется ис-і
і і пользовать, если вы пишете на языкеі
і і Ассемблера автономную программу.і
і і Большинство языков высокого уровняі
і і сами создают для вас стек. і
і і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і .STACK [размер] і Эквивалентна директиве STACK. Дей-і
і і ствует в режиме MASM. і
і і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і FARDATE [имя] і Начинает или продолжает дальний не-і
і і инициализированный сегмент данныхі
і і (FAR) с заданным именем. Если вы неі
і і задаете имя, Турбо Ассемблер исполь-і
і і зует сегментное имя FAR_DATA. В мо-і
і і дуле может содержаться более одногоі
і і неинициализированного сегмента дан-і
і і ных типа FAR. і
і і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і .FARDATA [имя] і Эквивалентна FARDATA. Действует ві
і і режиме MASM. і
і і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і UFARDATA і Начинает или продолжает дальний не-і
і і инициализированный сегмент данных сі
і і заданным именем. Если вы не задаетеі
і і имя, то Турбо Ассемблер используеті
Турбо Ассемблер 3.0/tasm/#1-2 = 137 =
і і имя сегмента FAR_BSS. В модуле у васі
і і может быть несколько неинициализиро-і
і і ванных сегментов данных типа FAR. і
і і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і .FARDATA? [имя] і Эквивалентна UFARDATA. Действуеті
і і только в режиме MASM. і
АДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Примечание: Если вам требуется знать фактические име-
на, имена классов и выравнивание сегментов, создаваемых по
упрощенным директивам сегментации, см. Приложение A.
Турбо Ассемблер 3.0/tasm/#1-2 = 138 =
Идентификаторы, создаваемые упрощенными директивами сегментации
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Когда вы используете упрощенные директивы определения сег-
ментов, они создают переменные, отражающие детали распределения
сегмента (аналогично тому, как это делает директива MODEL). Под-
робнее об этом рассказывается в Главе 15.
Идентификаторы упрощенных директив сегментации Таблица 7.5
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Идентификатор і Значение і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і @code і Сегмент или группа, которые подра-і
і і зумеваются для сегмента CS. і
і і і
і @data і Сегмент или группа, которые подра-і
і і зумеваются для сегмента DS. і
і і і
і @fardata і Имя текущего сегмента FARDATA. і
і і і
і @fardata? і Имя текущего сегмента UFARDATA. і
і і і
і @curseg і Имя текущего сегмента. і
і і і
і @stack і Сегмент или группа, которые подра-і
і і зумеваются для сегмента SS. і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Турбо Ассемблер 3.0/tasm/#1-2 = 139 =
Директива STARTUPCODE
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Директива STARTUPCODE обеспечивает код инициализации, соот-
ветствующий текущей модели и операционной системе. Она отмечает
также начало программы. Эта директива имеет следующий синтаксис:
STARTUPCODE
или
.STARTUP ; (только для режима MASM)
Директива STARTUPCODE инициализирует регистры DS, SS и SP.
Для моделей SMALL, MEDUIUM, COMPACT, LARGE, HUGE и TPASCAL Турбо
Ассемблер устанавливает DS и SS в @data, а SP - в конец стека.
Для моделей TINY и TCHUGE директива STARTUPCODE не изменяет сег-
ментных регистров.
Идентификатор @Startup
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Идентификатор @Startup помещается в начало кода инициализа-
ции, который генерируется по директиве STARTUPCODE. Он представ-
ляет собой ближнюю метку, отмечающую начало программы.
Директива EXITCODE
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Директива EXITCODE используется для генерации кода заверше-
ния, соответствующего текущей операционной системе. Вы можете
использовать ее в модуле несколько раз (для каждой точки входа).
Эта директива имеет следующий синтаксис:
EXITCODE [возвращаемое_значение]
В режиме MASM вы можете использовать следующий синтаксис:
.EXIT [возвращаемое_значение]
Необязательное "возвращаемое_значение" описывает число, ко-
торое должно возвращаться в операционную систему. Если вы не за-
даете возвращаемое значение, Турбо Ассемблер предполагает, что
это значение содержится в регистре AX.
Определение общих сегментов и групп
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Большинство прикладных программ могут использовать сегменты,
создаваемые стандартными моделями. Однако гибкость стандартных
моделей ограничена. В некоторых прикладных программах необходим
полный контроль за генерацией сегментов. Эти возможности предос-
тавляют общие сегментные директивы.
Турбо Ассемблер 3.0/tasm/#1-2 = 140 =
Директива SEGMENT
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Директива SEGMENT открывает сегмент. Все последующие код или
данные до директивы ENDS, которая закрывает сегмент, будут вклю-
чены в этот сегмент.
В режиме Ideal директива SEGMENT имеет следующий синтаксис:
SEGMENT имя [атрибуты]
В режиме MASM директива SEGMENT имеет следующий синтаксис:
имя SEGMENT [атрибуты]
где "имя" - это имя сегмента. Назначать сегментам имена нужно в
соответствии с их использованием. Примеры имен сегментов можно
найти в Приложении A.
|
adfun.ru
|
|
|
|