Особое внимание обратить на смещение оператора RET

10. Создать исполняемый файл. Для ввода загрузчика ввести команду:

>link {имя файла}

На все запросы нажимать клавишу перевода строки.

В результате создается исполняемый файл с расширением EXE.

11. Выполнить программу. Для этого используется отладчик DEBUG. Для начала ввести команду:

>debug {имя файла}.exe

Просмотреть содержимое регистров. Сделать 5-6 шагов. Выполнить программу до конца, используя смещение команды RET.

12. Проверить правильность работы программы. Просмотреть содержимое сегмента данных.

13. Просмотреть содержимое сегмента команд.

14. Выйти из отладчика.

15. Внести изменения в программу, поменяв тип исходных данных на слово. Повторить пункты 8-14.

16. Внести изменения в программу, поменяв тип исходных данных на двойное слово. Повторить пункты 8-14.

17. Оформить отчет.

Содержание отчета

Отчет должен включать для трех программ:

1. Текст листинга трансляции (2 страницы).

2. Содержимое регистров после команд отладчика R и T.

3. Содержимое сегмента данных и сегмента команд.

Контрольные вопросы

1. Как перевести число из одной системы счисления в другую?

2. Из каких основных частей состоит программа на Ассемблере?

3. Как оформляется сегмент данных?

4. Как оформляется сегмент команд?

5. Какие псевдооператоры данных вы знаете?

6. Как работает оператор MOV?

7. Как получить листинг трансляции?

8. Как получить исполняемый модуль?

9. В каких случаях используется отладчик DEBUG?

10. Перечислите команды отладчика.

11. Как просмотреть содержимое сегментов?

12. Сколько и какие регистры вы знаете?

13. В чем особенность регистров данных?

14. Что включает контекст процесса?


Б. Исследование формирования регистра флагов

Цель и задачи исследования

Целью и задачей работы является приобретение навыков установки и сбрасывания флагов.

Теоретические сведения

Флаги [6, 7]

В 16-ти битовом регистре флагов фиксируется информация о текущем состоянии дел:

0 бит – флаг переноса

2 бит – флаг четности

4 бит – флаг вспомогательного переноса

6 бит – флаг нуля

7 бит – флаг знака

8 бит – флаг тpассиpовки

9 бит – флаг разрешения прерываний

10 бит – флаг направления

11 бит – флаг переполнения

С помощью команды LAHF (Load AH from Flags – загрузить регистр AH флагами) можно сохранить флаги CF,PF,AF,ZF,SF в соответствующих битах регистра AH (0,2,4,6,7).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: