adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
DWORD
FWORD
QWORD
PWORD
TBYTE
SHORT
NEAR
FAR
PROC
DATAPTR
CODEPTR
имя_структуры
имя_таблицы
имя_перечисления
имя_записи
TYPE указатель
указатель ::=
SMALL указатель ; если 386
LARGE указатель ; если 386
i_тип PTR указатель
i_тип LOW указатель
i_тип HIGH указатель
i_тип указатель
указатель_2
указатель_2 ::=
указатель_3.идентификатор (Операция выбора элемента
структуры)
указатель_3
указатель_3 ::=
выражение:указатель_3
выражение
выражение ::=
SYMTYPE выражение (Операция определения типа символическо-
го имени)
выражение_2
Турбо Ассемблер 3.0/tasm/#2-2 = 161 =
выражение_2 ::=
выражение_3 OR выражение_3...
выражение_3 ХOR выражение_3...
выражение_3
выражение_3 ::=
выражение_4 AND выражение_4...
выражение_4
выражение_4 ::=
NOT выражение_4
выражение_5
выражение_5 ::=
выражение_6 ЕQ выражение_6...
выражение_6 NE выражение_6...
выражение_6 LT выражение_6...
выражение_6 LE выражение_6...
выражение_6 GT выражение_6...
выражение_6 GE выражение_6...
выражение_6
выражение_6 ::=
выражение_7 + выражение_7...
выражение_7 - выражение_7...
выражение_7
выражение_7 ::=
выражение_8 * выражение_8...
выражение_8 / выражение_8...
выражение_8 MOD выражение_8...
выражение_8 SHR выражение_8...
выражение_8 SHL выражение_8...
выражение_8
выражение_8
+выражение_8
-выражение_8
выражение_9
выражение_9
HIGH выражение_9
LOW выражение_9
выражение_10
выражение_10
OFFSET указатель
SEG указатель
SIZE идентификатор
LENGTH идентификатор
WIDTH идентификатор
MASK идентификатор
THIS идентификатор
Турбо Ассемблер 3.0/tasm/#2-2 = 162 =
идентификатор
константа
( указатель )
[ указатель ] (Всегда означает "содержимое..")
Старшинство ключевых слов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Важно понимать, как Турбо Ассемблер распознает строки исход-
ного текста. Это позволит вам избежать записи кода, который может
привести к непредсказуемым результатам. Рассмотрим, например,
следующий фрагмент программы:
NAME SEGMENT
Если вы записали эту строку, рассчитывая открыть сегмент с
именем NAME, то будете разочарованы. Турбо Ассемблер распознает
ключевое слово NAME раньше, чем SEGMENT, называя ваш код именем
SEGMENT.
В общем случае определяет значение строки на основе первых
двух символов строки. Самый левый символ находится в первой пози-
ции, а символ справа от него находится во второй позиции.
Старшинство операций в режиме Ideal
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В режиме Ideal применяются следующие правила старшинства
операций:
1. Наивысший приоритет (приоритет 1) имеют все ключевые сло-
ва в первой позиции строки. Они проверяются первыми.
2. Ключевые слова на второй позиции строки имеют второй при-
орите и рассматриваются во вторую очередь.
Старшинство операций в режиме MASM
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Правила синтаксического анализа строк в режиме MASM значи-
тельно более сложны, чем в режиме Ideal. Вместо двух здесь имеет-
ся три уровня приоритета:
1. Наивысший приоритет (приоритет 1) присваивается отдельным
ключевым словам в первой позиции (таким как NAME и %OUT).
2. Следующий по старшинству приоритет (приоритет 2) имеют
все идентификаторы, обнаруженные на второй позиции.
3. Все другие ключевые слова в первой позиции имеют наимень-
ший (третий) приоритет.
Примечание: Внутри определений структур Турбо Ассемб-
Турбо Ассемблер 3.0/tasm/#2-2 = 163 =
лер интерпретирует ключевые слова приоритета 1 как приори-
тет 3. В этом случае ключевые слова приоритета 2 имеют выс-
ший приоритет.
Например, в следующем фрагменте кода:
NAME SEGMENT
NAME - это ключевое слово первого приоритета, а SEGMENT -
ключевое слово второго приоритета. Таким образом, Турбо Ассемблер
будет интерпретировать эту строку, как директиву NAME, а не как
директиву SEGMENT. В другом примере:
MOV INSTR,1
MOV - ключевое слово приоритета 3, а INSTR - ключевое слово прио-
ритета 2. Таким образом, Турбо Ассемблер интерпретирует эту стро-
ку как инструкцию INSTR, а не как инструкцию MOV (как вы можете
предполагать).
Ключевые слова и предопределенные идентификаторы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В данном разделе приведен полный перечень всех ключевых слов
Турбо Ассемблера. Значение в скобках после ключевых слов указыва-
ют их приоритет (1 или 2) в режиме MASM. Приоритет для ключевых
слов указан только, если он имеет значение 1 или 2. Для всех дру-
гих ключевых слов подразумевается приоритет 3. Турбо Ассемблер
распознает ключевые слова только в том случае, если он находит
их. В режиме MASM ключевые слова приоритета 1 или 3 всегда нахо-
дятся в первой позиции, а ключевые слова приоритета 2 - во второй
позиции. Символ M после ключевого слово указывает, что оно допус-
тимо только для режима MASM, а I показывает ключевое слово, дос-
тупное только в режиме Ideal. Если буква не указана, то ключевые
слова работают в обоих режимах. Номер после ключевого слова пока-
зывает приоритет.
Ключевые слова директив
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В следующем списке содержатся все ключевые слова директив
Турбо Ассемблера. Ключевые слова группируются по версиям Турбо
Ассемблера, в которых они вводились.
Следующие ключевые слова были введены в Турбо Ассемблере
|
adfun.ru
|
|
|
|