Старшинство ключевых слов
Важно понимать, как Турбо Ассемблер распознает строки исходного текста. Это позволит вам избежать записи кода, который может привести к непредсказуемым результатам. Рассмотрим, например, следующий фрагмент программы:
NAME SEGMENT
Если вы записали эту строку, рассчитывая открыть сегмент с именем NAME, то будете разочарованы. Турбо Ассемблер распознает ключевое слово NAME раньше, чем SEGMENT, называя ваш код именем SEGMENT.
В общем случае определяет значение строки на основе первых двух символов строки. Самый левый символ находится в первой позиции, а символ справа от него находится во второй позиции.
Старшинство операций в режиме Ideal
В режиме Ideal применяются следующие правила старшинства операций:
Наивысший приоритет (приоритет 1) имеют все ключевые слова в первой позиции строки. Они проверяются первыми.
Ключевые слова на второй позиции строки имеют второй приорите и рассматриваются во вторую очередь.
Старшинство операций в режиме MASM
Правила синтаксического анализа строк в режиме MASM значительно более сложны, чем в режиме Ideal. Вместо двух здесь имеется три уровня приоритета:
Наивысший приоритет (приоритет 1) присваивается отдельным ключевым словам в первой позиции (таким как NAME и %OUT).
Следующий по старшинству приоритет (приоритет 2) имеют все идентификаторы, обнаруженные на второй позиции.
Все другие ключевые слова в первой позиции имеют наименьший (третий) приоритет.
Примечание: Внутри определений структур Турбо Ассемблер интерпретирует ключевые слова приоритета 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. Если буква не указана, то ключевые слова работают в обоих режимах. Номер после ключевого слова показывает приоритет.
1 2 3 4
8 8 8
| |