| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
ГДДДДДДДДДЕДДДДДДДДДЕДДДДДДДДЕДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДґ
іFLAT і ближний іближний іcs=_text іТо же, что и модельі
і і і іds=ss=flat іSMALL, но подходиті
і і і і ідля использования ві
і і і і іOS/2. і
АДДДДДДДДДБДДДДДДДДДБДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДЩ
Турбо Ассемблер 3.0/tasm/#1-2 = 131 =
Модификаторы модели Таблица 7.2
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Модификатор модели і Функция і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і NEARSTACK і Указывает, что сегмент стека дол-і
і і жен включаться в DROUP (еслиі
і і группа DGROUP присутствует), а SSі
і і должен указывать на DGROUP. і
і і і
і FARSTACK і Указывает, что сегмент стека неі
і і должен включаться в DGROUP, а SSі
і і должен указывать не nothing (неі
і і определен). і
і і і
і USE16 і Задает, что все сегменты ві
і і выбранной модели должны быть 16-і
і і разрядными (при выборе процессораі
і і 80386 или 80486). і
і і і
і USE32 і Задает, что все сегменты ві
і і выбранной модели должны быть 32-і
і і разрядными (при выборе процессораі
і і 80386 или 80486). і
і і і
і DOS, OS_DOS і Задает, что прикладная программаі
і і ориентируется на DOS. і
і і і
і OS2, OS_OS2 і Задает, что прикладная программаі
і і ориентируется на DOS. і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
"Язык" и "модификатор_языка" вместе определяют соглашения,
используемые при вызове процедуры, а также используемый по умол-
чанию характер начала и завершения кода каждой процедуры. Они оп-
ределяют также как будут объявляться общедоступные идентификато-
ры (которые использует компоновщик). Турбо Ассемблер будет
автоматически генерировать код входа и выхода для каждой процеду-
ры, используя одно из следующих языковых соглашений: PASCAL, C,
CPP (C++), SYSCALL, BASIC, FORTRAN, PROLOG и NOLANGUAGE (язык не
задан). Если вы не задаете язык, то Турбо Ассемблер предполагает
использование NOLANGUAGE.
Используйте "модификатор_языка" для задания кода начала и
завершения процедур для WIndows или оверлейного загрузчика фирмы
Borland. Можно задавать параметры NORMAL, WINDOWS, ODDNEAR и
ODDFAR. Если вы не задаете параметр, то Турбо Ассемблер по умол-
чанию подразумевает NORMAL.
Примечание: Более подробно об этом рассказывается в
Главе 16.
Кроме того, вы можете переопределить используемый по умолча-
нию язык и модификатор языка при определении процедуры. Подроб-
Турбо Ассемблер 3.0/tasm/#1-2 = 132 =
ности можно узнать в Главе 10.
При объявлении общедоступного идентификатора вы можете также
переопределить язык.
Турбо Ассемблер 3.0/tasm/#1-2 = 133 =
Идентификаторы, генерируемые директивой MODEL
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Когда вы используете директиву MODEL, Турбо Ассемблер созда-
ет и инициализирует отдельные переменные, отражающие детали выб-
ранной модели. Эти переменные путем использования операторов ус-
ловного ассемблирования могут вам помочь написать код, зависящий
от модели. О том, как можно использовать эти переменные для изме-
нения процесса ассемблирования, рассказывается в Главе 15.
Идентификатор @Model
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Идентификатор @Model содержит числовое значение, представля-
ющее текущую используемую модель. Вы можете задавать его как
текстовую макрокоманду с одним из следующих значений:
1 = действует модель tiny (крошечная)
2 = действует модель small (малая) или flat
3 = модель compact (компактная)
4 = medium (средняя)
5 = large (большая)
6 = huge (огромная)
7 = tchuge (Турбо Си)
0 = tpascal (Турбо Паскаль)
Идентификатор @32Bit
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Идентификатор @32Bit содержит значение, определяющее, явля-
ются ли сегменты в текущей модели 16- или 32-разрядными. Если вы
задали в модели MODEL 16-разрядные сегменты, то это значение рав-
но 0, а если 32-разрядные - то 1.
Идентификатор @CodeSize
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Идентификатор @CodeSize указывает используемый по умолчанию
размер указателя кода в текущей модели памяти. Если он установлен
в 0, то модели памяти используют ближние указатели кода типа NEAR
(модeли TINY, SMALL, FLAT, COMPACT, TPASCAL), а значение 1 указы-
вает, что модели памяти используют дальние указатели FAR (все
другие модели).
Идентификатор @DataSize
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Идентификатор @DataSize указывает используемый по умолчанию
размер указателя данных в текущей модели памяти. Если он установ-
лен в 0, то модели памяти используют ближние указатели данных ти-
па NEAR (модeли TINY, SMALL, FLAT, COMPACT, TPASCAL), а значение
1 указывает, что модели памяти используют дальние указатели FAR
(все другие модели).
Турбо Ассемблер 3.0/tasm/#1-2 = 134 =
Идентификатор @Interface
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Идентификатор @Interface дает информацию о языке и операци-
онной системе, которые выбраны в операторе MODEL. Данная тексто-
вая макрокоманда содержит число, биты которого представляют сле-
дующие значения:
Модификаторы модели Таблицы 7.3
ЪДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Биты 0-7 і Значение і
ГДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і 0 і NOLANGUAGE і
і 1 і C і
і 2 і SYSCALL і
і 4 і PASCAL і
і 5 і FORTRAN і
і 6 і BASIC і
і 7 і PROLOG і
і 8 і CPP і
АДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Бит 8 имеет нулевое значение для DOS и равен 1 для OS/2.
Например, значение идентификатора @Interface показывает, что
вы выбрали операционную систему OS/2 и язык Си.
Турбо Ассемблер 3.0/tasm/#1-2 = 135 =
Упрощенные сегментные директивы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
После выбора модели памяти вы можете использовать упрощенные
сегментные директивы для того, чтобы начинать отдельные сегменты.
Эти упрощенные директивы вы можете использовать только после ди-
рективы MODEL, которая задает для модуля модель памяти. В модуле
допускается указывать столько директив сегментации, сколько необ-
ходимо. Турбо Ассемблер для получения одного сегмента комбинирует
все части с одинаковыми именами (как если бы вы ввели все эти
фрагменты после одной директивы сегментации). Перечень директив
содержится в Таблице 7.4.
ЪДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Директива і Описание і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і CODESEG [имя] і Начинает или продолжает сегмент кодаі
і і модуля. Для моделей с дальним типомі
і і кода вы можете задать имя, являющее-і
і і ся фактическим именем сегмента. За-і
і і метим, что таким образом вы можетеі
і і генерировать для модуля более одногоі
і і сегмента кода. і
і і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і .CODE [имя] і Эквивалентна директиве CODESEG. До-і
і DATASEG і пускается только для режима MASM.і
і і Начинает или продолжает ближний илиі
і і инициализируемый по умолчанию сег-і
і і мент данных. і
і і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і .DATA і Эквивалентна директиве DATASEG. До-і
і CONST і пускается только для режима MASM.і
і і Начинает или продолжает сегменті
і і констант модуля. Постоянные данныеі
|
adfun.ru
|
|
|
|