Debug ebf.Com

6.10. Ввести команду отладчика U и просмотреть исходную программу.

6.11. Выполнить трассировку программы, используя команды отладчика R и T.

6.12. С помощью команды U определить адрес 6 команды программы MOV AX,0001.

6.13. С помощью команды А заменить команду MOV AX,0001 командой MOV AX,0002.

6.14. С помощью команды U проверить правильность записи команды в программу.

6.15. Выполнить трассировку измененной программы, используя команды отладчика R и Т. Объяснить, что изменилось в выполнении программы.

6.16. Выйти из отладчика вводом команды: Q.

СОДЕРЖАНИЕ ОТЧЕТА

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

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Напишите машинные команды для:

а) пересылки значения 4629Н в регистр АХ;

б) сложения 036А с содержимым регистра АХ.

2. Предположим, что была введена следующая Е-команда:

Е CS:100 B8 45 01 05 25 00

Вместо значения 45 предполагалось 54. Напишите команду Е для корректировки только одного неправильно введенного байта, т.е. непосредственно замените 45 на 54.

3. Имеется следующая программа в машинных кодах:

B0 25 D0 E0 B3 15 F6 E3 CB

Программа выполняет следующее:

- пересылает значение 25Н в регистр AL;

- сдвигает содержимое регистра AL на один бит влево (в результате в AL будет 4А);

- пересылает значение 15Н в регистр BL;

- умножает содержимое регистра AL на содержимое регистра BL.

Используйте отладчик для ввода (Е) этой программы по адресу CS:100. Не, забывайте, что все значения представлены в шестнадцатиричном виде. После ввода программы наберите D CS:100 для просмотра сегмента кода. Затем введите команду R и необходимое число команд Т для пошагового выполнения программы до команды RET. Какое значение будет в регистре АХ в результате выполнения программы?

4. Используйте отладчик для ввода (Е) следующей программы в машинных кодах:

Данные: 25 15 00 00

Код: A0 00 00 D0 E0 F6 26 01 00 A3 02 00 CB

Программа выполняет следующее:

- пересылает содержимое одного байта по адресу DS:00 (25) в регистр AL;

- сдвигает содержимое регистра AL влево на один бит (получая в результате 4А);

- умножает AL на содержимое одного байта по адресу DS:01 (15);

- пересылает результат из АХ в слово, начинающееся по адресу DS:02.

После вводе программы используйте команды D для просмотра сегмента данных и сегмента кода. Затем введите команду R и необходимое число команд Т для достижения конца программы (RET). В этот момент регистр АХ должен содержать результат 0612. Еще раз используйте команду D DS:00 и определите какое значение записано по адресу DS:02.

ОТВЕТЫ:

1. а) В82946, б) 056А03

2. E CS:101 54

3. 0612

4. 12 06

Наши рекомендации