Изменение используемого по умолчанию основания
Для изменения текущего используемого по умолчанию основания вы можете использовать директивы RADIX или .RADIX. В режиме Ideal используется следующий синтаксис:
RADIX выражение
а в режиме MASM:
.RADIX выражение
где "выражение" должно принимать значение 2 (двоичное), 8 (восьмеричное), 10 (десятичное) или 16 (шестнадцатиричное). Турбо Ассемблер предполагает, что во время обработки директивы RADIX текущим основанием по умолчанию является основание 10.
Строковые константы
Строковые константы всегда начинаются с одиночной или двойной кавычки и завершаются соответствующей кавычкой. Турбо Ассемблер преобразует заключенные в кавычки символы в значения ASCII.
Иногда желательно использовать кавычку в самой строковой константе. Для этого в качестве одной кавычки используйте пару совпадающих символов кавычек, например:
"It""s represent" It"s
Идентификаторы
Идентификатор представляет значение, которое может быть переменной, меткой адреса или операндом ассемблируемой инструкции и директивы.
Имена идентификаторов
Имена идентификаторов представляют собой сочетание букв (в верхнем и нижнем регистре), цифр и специальных символов. Имена идентификаторов не могут начинаться с цифры. Турбо Ассемблер может интерпретировать имена идентификаторов с различием регистра символов или без него. Различимостью регистра символов можно управлять с помощью параметров командной строки Турбо Ассемблера /ML, /MU и /MX.
Имена идентификаторов могут иметь в длину до 255 символов. По умолчанию имена идентификаторов являются значащими до 32 символов. Для изменения числа значащих символов в имени идентификатора вы можете использовать параметр командной строки /MV.
Примечание: Об использовании параметров командной строки рассказывается в этой главе
В имени идентификатора можно использовать символ подчеркивания (_), знак вопроса (?), знак доллара ($) и символ @. В режиме MASM (и только в нем) в качестве первого символа имени вы можете использовать точку (.). Однако легко спутать точку в начале идентификатора с операцией точки (которая используется для выделения элемента структуры), поэтому лучше не использовать ее в именах идентификаторов.
Типы идентификаторов
Каждый идентификатор имеет тип, который описывает его характеристики и связанную с ним информацию. Тип задается способом определения идентификатора. Например, вы можете определить идентификатор, представляющий числовое выражение, текстовую строку, имя процедуры или переменную. Типы идентификаторов, поддерживаемых Турбо Ассемблером, перечислены в cледующей таблице:
Типы идентификаторовТип идентификатора | Описание |
---|
адрес | Адрес. Подтипами данных являются типы UNKNOWN, BYTE, WORD, DWORD, WORD, QWORD, TBYTE и адрес структуры или таблицы с указанным именем. Подтипами кода являются SHORT, NEAR, FAR. | текстовая макрокоманда | Текстовая строка. | псевдоним | Эквивалентный идентификатор. | числовое выражение | Значение числового выражения. | макрокоманда из нескольких строк | Несколько текстовых строк с пустыми аргументами. | структура/объединение | Тип данных структуры или объединения. | таблица | Tабличный тип данных. | элемент структуры/таблицы | Элемент структуры или таблицы. | запись | Данные типа записи. | поле записи | Поле записи. | перечисление | Перечислимый тип данных. | сегмент | Сегмент. | группа | Группа. | тип | Названный тип. |
Адресные подтипы данных
Подтипы идентификаторов описывают идентификатор, представляющий адрес байта, слова и т.д. Простые адресные подтипы, которые предусмотрены в Турбо Ассемблере, приведены в таблице:
Адресные подтипыВыражение типа | Значение |
---|
UNKNOWN | Неизвестный или неопределенный адресный подтип. | BYTE | Адрес, описывающий байт. | WORD | Адрес, описывающий слово. | DWORD | Адрес, описывающий 4-байтовую величину. | PWORD или FWORD | Адрес, описывающий 6-байтовую величину. | QWORD | Адрес, описывающий 8-байтовую величину. | TBYTE | Адрес, описывающий 10-байтовую величину. | SHORT | Адрес, описывающий короткий адрес метки/процедуры. | NEAR | Адрес, описывающий ближний адрес метки/процедуры. | FAR | Адрес, описывающий дальний адрес метки/процедуры. | PROC | Адрес, описывающий ближний или дальний адрес метки/процедуры, в зависимости от текущей модели. | DATAPTR | Адрес, описывающий слово, двойное слово или величину pword, в зависимости от текущей выбранной модели. | CODEPTR | Адрес, описывающий слово, двойное слово или величину pword, в зависимости от текущей выбранной модели. | имя структуры/объединения | Адрес, описывающий экземпляр названной структуры или объединения. | имя таблицы | Адрес, описывающий экземпляр указанной таблицы. | имя записи | Адрес, описывающий экземпляр указанной записи (байт, слово или двойное слово). | имя перечисления | Адрес, описывающий экземпляр перечислимого типа данных. | имя типа | Адрес, описывающий экземпляр указанного типа. | TYPE выражение | Адрес, описывающий элемент, подтип которого является адресом подтипа выражения (только для режима Ideal). |
1 2 3 4 5 6 7
8 8 8
| |