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