Поделиться через


Элементы командной программы отладчика

Программа команд отладчика — это небольшое приложение, состоящее из команд отладчика и маркеров потока управления, таких как .if, .for и .while. (Полный список маркеров потока управления и их синтаксис см. в разделе Маркеры потока управления.)

С помощью фигурных скобок ( { } ) можно заключить блок инструкций в более крупный блок команд. При вводе каждого блока вычисляются все псевдонимы в блоке. Если позже вы измените значение псевдонима в блоке команд, команды после этого момента не будут использовать новое значение псевдонима, если они не находятся в подчиненном блоке.

Невозможно создать блок с помощью пары фигурных скобок. Необходимо добавить маркер потока управления перед открывающей фигурной скобкой. Если вы хотите создать блок только для оценки псевдонимов, следует использовать маркер .block перед открывающей фигурной скобкой.

Программа команд отладчика может использовать псевдонимы с именем пользователя или псевдонимы с фиксированным именем в качестве локальных переменных. Если вы хотите использовать числовые или типизированные переменные, можно использовать $tnпсевдорегистров.

Псевдонимы с именами пользователей оцениваются только в том случае, если они не находятся рядом с другим текстом. Если вы хотите оценить псевдоним, который находится рядом с другим текстом, используйте маркер ${ } (интерпретатор псевдонимов). Этот маркер имеет необязательные параметры, которые позволяют оценивать псевдоним различными способами.

Вы можете добавлять комментарии в командную программу отладчика с помощью двух знаков доллара ($$ (описатель комментариев)). Не следует вставлять комментарий между маркером и его элементами (например, фигурными скобками или условиями).

Примечание Не следует использовать звездочку (* (описатель строки комментария)). Так как комментарии, указанные звездочкой, не заканчиваются точкой с запятой, остальная часть программы игнорируется.

Как правило, синтаксис MASM следует использовать в командной программе отладчика. Если необходимо использовать элементы C++ (например, указание члена структуры или класса), можно использовать маркер @@c++( ) для переключения на синтаксис C++ для этого предложения.

Особенно полезны строковые операторы $scmp, $sicmp и $spat в синтаксисе MASM. Дополнительные сведения об этих операторах см. в разделе Числа и операторы MASM.