Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Команды SYMDEB





При помощи команд SYMDEB реализуется алгоритм отладки, а также обеспечивается выполнение основных функций SYMDEB. Команды SYMDEB вводятся в диалоговом режиме после приглашающего символа -. Группа команд может быть выполнена до начала отладки.

Введенную команду SYMDEB можно отменить нажатием клавиш CTRL-C или задержать нажатием клавиш CTRL-S. Если отлаживаемая программа обратилась к вводу/выводу, этими клавишами можно отменить или задержать введенную команду G. Если программа не обратилась к вводу/выводу, остановить ее выполнение можно только соответствующими клавишами, если были заданы опции /K или /N.

Некоторые команды имеют параметры, которыми могут быть числа, символы или выражения. Параметры, если их несколько, разделяются запятыми. Между именем команды и первым параметром пробела не требуется, исключая те случаи, где это оговорено особо.

Ниже приведено описание способов кодирования различных типов параметров в командах SYMDEB.

1. Символы могут представлять регистр, абсолютное значение, адрес сегмента или смещение сегмента и состоят из одного или более символов, включая _,?, @ и $. Первым символом должна быть буква. Все символы должны быть определены в символьном файле. SYMDEB не чувствителен к смене регистра. При совпадении символов с именами регистров последние имеют больший приоритет.

2. Числа представляются в виде:

u <число>Y — двоичное

u <число>O — 8-ричное

u <число>Q — 8-ричное

u <число>T — десятичное

u <число>H — 16-ричное

Допустимо кодирование ключевых символов Y, O, Q, T и H на регистре строчных букв. При распознавании чисел максимальный приоритет имеют 16-ричные числа.

3. Адреса представляются в виде:

<сегмент>:<смещение>

<Сегмент> и <смещение> могут быть числами (представимыми как 16-разрядные), именами регистров или символами. Многие команды имеют умалчиваемые имена регистров (DS или CS).

4. В качестве смещения могут быть указаны границы:

<начальный адрес> <конечный адрес>

Если <конечный адрес> опущен, предполагается значение <начальный адрес>+128.

5. В качестве смещения может быть задан счетчик:

<начальный адрес> L <число объектов>

Размер объекта (байт, слово, инструкция) определяется использующей эту конструкцию командой.

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

.+<число> | - <число>

.[<имя файла>:]<число>

.<символ>[+<число> | -<число>]

Первая форма определяет смещение (в линиях) относительно текущей линии исходного текста. Вторая форма отображает абсолютный номер линии в файле с указанным именем. Если имя файла опущено, предполагается текущий файл, определяемый текущими значениями регистров CS и IP. В третьей форме <символ> может быть инструкцией или меткой процедуры. Если задано <число>, оно является смещением (в линиях) искомой линии относительно линии, идентифицированной указанным символом.

7. Строки являются набором значений в коде ASCII и могут быть заданы в двух форматах:

\&'<символы>'

"<символы>"

Если в строке присутствуют символы ' или ", их следует кодировать дважды.

8. Выражение представляет собой комбинацию параметров и операторов, которая преобразуется в 8-, 16- или 32-битовое значение. Могут использоваться скобки. Унарные адресные операторы подразумевают регистр DS как умалчиваемую адресную базу (сегмент).

Ниже приведены унарные операторы (в порядке убывания приоритетов):

u +

u -

u NOT — дополнение операнда до 1

u SEG — адрес сегмента операнда

u OFF — смещение операнда

u BY — младший байт из указанного адреса

u WO — младшее слово из указанного адреса

u DW — двойное слово из указанного адреса

u POI — указатель из указанного адреса (как DW)

u PORT — 1 байт из указанного порта

u WPORT — слово из указанного порта

Ниже приведены бинарные операторы (в порядке убывания приоритетов):

u *

u / — деление нацело

u MOD — modulus

u: — переключение сегмента

u +

u -

u AND — побитовое И

u XOR — побитовое исключающее ИЛИ

u OR — побитовое И







Date: 2015-05-22; view: 513; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.01 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию