Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТ и МП - Инструкция пользования программой-отл...rtf
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
61.88 Кб
Скачать

4. Команды редактирования программ

4.1. Построчный ассемблер

Формат команды:

-А начальный адрес <enter>

Эта команда позволяет начать ввод и редактирование программы (написанной на ассемблере), в область ОЗУ.

Пример:

-A7000:0100 <enter>

7000:0100 NOP <enter>

7000:0101 CALL 0600 <enter>

7000:0104 CALL 0900 <enter>

7000:0107 MOV SI,23CD <enter>

и так далее

Выход из режима редактирования осуществляется нажатием <enter>.

После выхода, все мнемонические команды (например, NOP, CALL) переводятся ассемблером в машинные кода.

4.2. Построчный дизассемблер

Формат команды:

U начальный адрес <пробел> конечный адрес <enter>

На экран выводится программа (набранная ранее в пункте 4.1) в машинных кодах, а также соответствующие кодам, мнемонические команды.

Пример:

-U7000:0100 <пробел> 0108 <enter>

7000:0100 90 NOP

7000:0101 E8FC04 CALL 0600

7000:0104 E8F907 CALL 0900

7000:0107 BECD23 MOV SI,23CD

В нашем примере 90 – код команды NOP, E8 – код команды CALL, FC04 – код выполнения смещения физического адреса перехода.

5. Команды отладки программ на ассемблерном уровне

5.1. Команда запуска программы

Формат команды:

-G= стартовый адрес <enter>

Эта команда предназначена для запуска программы, начиная с указанного стартового адреса. Второй вариант:

-G= стартовый адрес <пробел> адрес останова 1 <пробел> адрес останова 2 <пробел> … адрес останова N-1 <пробел> адрес останова N <enter>

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

Пусть у нас есть фрагмент какой-то программы:

-A7000:0100 <enter>

7000:0100 <пробел> MOV <пробел> AX , 4570 <enter>

7000:0103 <пробел> MOV <пробел> DS , AX <enter>

7000:0105 <пробел> MOV <пробел> ES , AX <enter>

7000:0107 <enter>

Пример:

-G=7000:0100 <пробел> 0105 <enter>

AX=4570 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0002

DS=4570 ES=179B SS=179B CS=7000 IP=0105 NV UP DI PL NZ NA PO NC

7000:0105 8EC0 MOV ES , AX

В данном примере в регистры АХ и DX заносится число 4570. В последней строке выведен машинный и мнемонический код следующей команды, предлагаемой к выполнению.

5.2. Команда трассировки

Формат команды:

-Т= начальный адрес <пробел> количество команд N <enter>

Эта команда производит пошаговое (покомандное) выполнение программы (например, приведенной в пункте 5.1). При этом выполняется заданное N количество команд (например, одна) и предлагается к выполнению следующая N+1 команда, для выполнения которой необходимо набрать: Т <enter>.

Пример:

-T=7000:0100 <пробел> 1 <enter>

AX=4570 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=179B ES=179B SS=179B CS=7000 IP=0103 NV UP EI PL NZ NA PO NC

7000:0103 8ED8 MOV DS , AX

В регистр АХ занесено число 4570 (в шестнадцатеричной системе счисления).

-T <enter>

AX=4570 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=4570 ES=179B SS=179B CS=7000 IP=0105 NV UP EI PL NZ NA PO NC

7000:0105 8EC0 MOV ES , AX