ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Изучить приведенный теоретический материал к лабораторной работе. 2. Используя прямую (первый вариант) и косвенную (второй вариант) адресацию, написать программы на ассемблере, выполняющие алгоритмы преобразований из п. 5 (по указанию преподавателя). Примечания к кодированию программ: - программа с использованием прямой адресации будет похожа на приведенную в предыдущей лабораторной работе программу, только непосредственные значения смещений в командах должны измениться в соответствии с заданным алгоритмом; - для варианта косвенной адресации зашлите адреса наичала массивов в базовый и индексный регистры, например командами: MOV BX, OFFSET SOURCE и MOV DI, OFFSET DEST, и далее используйте регистры BX и DI для адресации элементов массивов. 3. Оттранслировать программу в объектный код. 4. Провести отладку программы и проверить получаемые результаты.
СОДЕРЖАНИЕ ОТЧЕТА Отчет должен включать: § титульный лист; § описание цели работы; § описание задания на лабораторную работу; § - словесные пояснения к алгоритму решения задачи и схему программы (обращаю Ваше внимание на то, что схема программы одна, а реализаций этой схемы должно быть две – с применением прямой и косвенной типов адресации); § листинги программ; § результаты выполнения программ; § выводы.
ВАРИАНТЫ ЗАДАНИЙ 1. Задать одномерный массив, состоящий из Х элементов (Х задается преподавателем из диапазона [7..10]). Заполнить массив константами. Переместить заданный массив в другую область памяти, поменяв местами элементы с четными и нечетными номерами (поставив каждый элемент с четным номером на место нечетного элемента и каждый элемент с нечетным номером – на место четного) а) элементы массива – однобайтовые; б) элементы массива – двухбайтовые; 2. Задать одномерный массив, состоящий из Х элементов (Х задается преподавателем из диапазона [7..10]). Заполнить массив константами. Переместить в другую область памяти элементы с нечетными номерами а) элементы массива – однобайтовые; б) элементы массива – двухбайтовые; 3. Задать одномерный массив, состоящий из Х элементов (Х задается преподавателем из диапазона [7..10]). Заполнить массив константами. Переместить в другую область памяти элементы с четными номерами а) элементы массива – однобайтовые; б) элементы массива – двухбайтовые; 4. Задать одномерный массив, состоящий из Х элементов (Х задается преподавателем из диапазона [7..10]). Заполнить массив константами. Создать новый одномерный массив, поместив в него на место элементов с четными номерами элементы заданного массива с нечетными номерами и обнулив элементы нового массива с нечетными номерами а) элементы массива – однобайтовые; б) элементы массива – двухбайтовые; 5. Задать одномерный массив, состоящий из Х элементов (Х задается преподавателем из диапазона [7..10]). Заполнить массив константами. Создать новый одномерный массив, поместив в него на место элементов с нечетными номерами элементы заданного массива с нечетными номерами и заполнив элементы нового массива с четными номерами максимальными значениями констант а) элементы массива – однобайтовые; б) элементы массива – двухбайтовые.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Каков синтаксис команд ассемблера? 2. Какие группы директив Вы знаете? Какие из директив обязательны в программе на ассемблере? 3. Что такое исполнительный адрес и как он используется при определении физического адреса операнда? 4. В чем заключается различие прямых и косвенных режимов адресации? 5. Как различить в командах ассемблера прямые и косвенные режимы адресации? 6. Какие режимы адресации Вы знаете?
|