- •Введение
- •Лабораторная работа № 1 Трансляция, компоновка и отладка программ
- •1.1. Цельработы
- •1.2.1. Архитектура компьютера
- •1.2.2. Процедуры формирования программы
- •1.2.3. Структура программы
- •1.2.4. Пример программы на Ассемблере
- •1.3. Порядок выполнения работы
- •1.4. Содержание отчета
- •Лабораторная работа № 2
- •[Метка:] мнемокод [операнд] [; комментарий]
- •2.2.2. Режимы адресации
- •2.3. Порядок выполнения работы
- •2.4. Содержание отчета.
- •2.5. Варианты заданий
- •Лабораторная работа № 3
- •3.2.2. Команда безусловного перехода
- •3.2.3. Организация циклов
- •Inc операнд ,
- •3.3. Порядок выполнения работы
- •3.4. Содержание отчета
- •3.5. Варианты заданий
- •Лабораторная работа № 4
- •4.2.2. Сложение и вычитание целых чисел
- •4.2.3. Умножение и деление целых чисел
- •4.3. Порядок выполнения работы
- •4.4. Содержание отчета
- •4.5. Варианты заданий.
- •Лабораторная работа № 5 Программирование операций ввода-вывода
- •5.1. Цель работы
- •5.2. Основные теоретические сведения
- •Int 21h ; прочитать строку.
- •5.3. Порядок выполнения работы
- •5.4. Содержание отчета
- •5.5. Варианты заданий
2.3. Порядок выполнения работы
1. Изучить приведенный теоретический материал к лабораторной работе.
2. Используя прямую (первый вариант) и косвенную (второй вариант) адресацию, написать программы на ассемблере, выполняющие алгоритмы преобразований из п. 5.
Примечания к кодированию программ:
программа с использованием прямой адресации будет похожа на приведенную в предыдущей лабораторной работе программу, только непосредственные значения смещений в командах должны измениться в соответствии с заданным алгоритмом;
для варианта косвенной адресации зашлите адреса начала
22 асссивов в базовый и индексный регистры, например командами:
MOV BX, OFFSET SOURCE и
MOV DI, OFFSET DEST,
и далее используйте регистры BX
и DI для
адресации элементов
3. Оттранслировать программу в объектный код.
4. Провести отладку программы и проверить получаемые результаты.
2.4. Содержание отчета.
Отчет должен включать:
титульный лист;
описание цели работы;
описание задания на лабораторную работу;
- словесные пояснения к алгоритму решения задачи и схему программы (обращаю Ваше внимание на то, что схема программы одна, а реализаций этой схемы должно быть две – с применением прямой и косвенной типов адресации);
листинги программ;
результаты выполнения программ;
выводы.
2.5. Варианты заданий
1. Задать одномерный массив, состоящий из Х элементов (Х задается преподавателем из диапазона [7..10]). Заполнить массив константами. Переместить заданный массив в другую область памяти, поменяв местами элементы с четными и нечетными номерами (поставив каждый элемент с четным номером на место нечетного элемента и каждый элемент с нечетным номером – на место четного)
а) элементы массива – однобайтовые;
б) элементы массива – двухбайтовые;
2. Задать одномерный массив, состоящий из Х элементов (Х задается преподавателем из диапазона [7..10]). Заполнить массив константами. Переместить в другую область памяти элементы с нечетными номерами
а) элементы массива – однобайтовые;
б) элементы массива – двухбайтовые;
3. Задать одномерный массив, состоящий из Х элементов (Х задается преподавателем из диапазона [7..10]). Заполнить массив константами. Переместить в другую область памяти элементы с четными номерами
а) элементы массива – однобайтовые;
б) элементы массива – двухбайтовые;
4. Задать одномерный массив, состоящий из Х элементов (Х задается преподавателем из диапазона [7..10]). Заполнить массив константами. Создать новый одномерный массив, поместив в него на место элементов с четными номерами элементы заданного массива с нечетными номерами и обнулив элементы нового массива с нечетными номерами
а) элементы массива – однобайтовые;
б) элементы массива – двухбайтовые;
5. Задать одномерный массив, состоящий из Х элементов (Х задается преподавателем из диапазона [7..10]). Заполнить массив константами. Создать новый одномерный массив, поместив в него на место элементов с нечетными номерами элементы заданного массива с нечетными номерами и заполнив элементы нового массива с четными номерами максимальными значениями констант
а) элементы массива – однобайтовые;
б) элементы массива – двухбайтовые.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Каков синтаксис команд ассемблера?
2. Какие группы директив Вы знаете? Какие из директив обязательны в программе на ассемблере?
3. Что такое исполнительный адрес и как он используется при определении физического адреса операнда? Какие режимы адресации Вы знаете?
5. Как различить в командах ассемблера прямые и косвенные режимы адресации?