
Порядок выполнения работы
Создайте исходный модуль ggnn_am1.asm, содержащий сегмент данных с переменными согласно варианту задания к лабораторной работе № 1. Здесь gg – две последние цифры номера группы, nn – номер в группе.
В тело сегмента кода вставьте команды пересылки данных, использующие все рассмотренные методы адресации процессора Intel (кроме строковых команд) для различных типов данных.
Выполните трансляцию модуля в ggnn_ am1.exe
Посмотрите результаты трансляции команд с различными способами адресации в листинге программы.
Загрузите исполняемый модуль в отладчик afd.exe.
Выполните по шагам созданный Вами модуль, на каждом шаге контролируя изменение состояния регистров процессора и ячеек памяти
Результаты отразите в отчете.
Содержание отчета
Исходный текст программы с согласно задания.
Фрагменты листинга программы с различными способами адресации.
Словесное описание фрагмента листинга, выполняемых при пошаговом выполнении программы преобразований данных, анализ полученных результатов.
Выводы.
Варианты заданий
В первой части работы необходимо записать, выполнить трансляцию и пошаговое исполнение в отладчике команд пересылки данных со всеми известными методами адресации. В качестве данных можно взять свои данные из предыдущей лабораторной работы.
Во второй части работы необходимо составить указанную фразу, из массива данных, представляющего собой алфавит, используя косвенные методы адресации. Для вывода результата воспользоваться функцией 09h двадцать первого прерывания DOS. Пример вывода текстовой строки приведен в приложении.
В третьей части работы необходимо подсчитать количество чисел в массиве, отвечающих заданному критерию (все в соответствии с вариантом). Результат вывести на экран, вставив нужные цифры в шаблон текста сообщения.
-
№/№
Фразы
Размер массива
Критерий
Примечание
1
Happy New Year!
5
четные
2
С Новым Годом!
6
нечетные
3
7
>5
4
8
<5
5
9
0
6
6
= 0
7
7
3
8
8
= 3
9
9
четные
10
5
нечетные
11
6
>5
12
7
<5
13
8
0
14
9
= 0
15
5
3
16
6
= 3
17
7
четные
18
8
нечетные
19
9
>5
20
5
<5
21
6
0
22
7
= 0
23
8
3
24
9
= 3
25
5
все