
- •Лабораторная работа № 1
- •1. Цель и задача работы
- •2.1. Архитектура компьютера
- •2.2. Описание частей программы на языке ассемблера
- •2.3. Процедуры формирования исполняемой программы
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 2 режимы адресации
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 3 программирование ветвлений
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •2.1. Команды условного перехода
- •2.2. Команда безусловного перехода
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 4 команды цикла и их использование в программах обработки
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •2.1. Арифметические операции над целыми числами
- •2.2. Организация циклов
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 5 команды ввода-вывода на экран дисплея и их использование в программах обработки
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •2.1. Метод подъема
- •2.2. Команды прерывания
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Приложение в
4. Порядок выполнения работы
1. Изучить приведенный теоретический материал к лабораторной работе, для выяснения возникающих вопросов нужно обратиться к лекциям, литературе или преподавателю.
2. Изучить приведенный пример схемы и программы. Если остаются какие-то неясности в программе, рекомендуется ввести пример-программу в компьютер и отладить ее.
3. Получить задание и разработать для него схему программы, используя рекомендации по проектированию программ и приведенный пример. Задать конкретные значения исходных данных для программы в соответствии с полученным от преподавателя вариантом работы и подсчитать ожидаемый результат обработки.
4. Используя программу предыдущей лабораторной работы, внести в нее изменения в соответствии с разработанной схемой программы.
5. Оттранслировать и скомпоновать программу в исполнимый код.
6. Провести отладку программы и проверить получаемые результаты. При правильном функционировании программы ожидаемый и фактический результаты должны совпасть.
Требования к содержанию и оформлению отчета
Отчет должен включать:
а) титульный лист;
б) формулировку задачи работы;
в) описание результатов выполнения пунктов 3-6:
• листинги программ;
• результаты выполнения программ;
г) вывод, согласованный с задачей работы.
Критерии результативности выполнения работы
Лабораторная работа считается успешно выполненной, если:
ожидаемые результаты обработки совпадают с фактическими результатами работы программы;
отчет на бумажном носителе содержит все необходимые пункты согласно требованиям;
студент дает аргументированные пояснения по всем приведенным в отчете пунктам задания;
студент отвечает на контрольные вопросы преподавателя.
Контрольные вопросы
1. Как отличаются механизмы выполнения команд LOOP и LOOPE?
2. Какой РОН используется командами цикла?
3. Какие особенности реализации вложенных циклов существуют в Ассемблере? Чем обусловлены эти особенности?
4. Какие РОН используются по умолчанию командами умножения и деления?
5. В каких регистрах получается результат умножения байта на байт и слова на слово?
6. В каких регистрах получаются результаты целочисленного деления?
7. Как разделить целое число размером в одно слово на другое целое число размером в слово?
Варианты заданий
1. В заданном одномерном массиве знакопеременных целых чисел найти четные значения, подсчитать их количество и перенести в область DEST. В исходном массиве обнулить четные значения. В DEST подсчитать количество отрицательных значений:
а) задать однобатовые элементы массива;
б) задать двухбайтовые элементы массива.
2. В заданном одномерном массиве целых знакопеременных чисел подсчитать количество положительных значений, отличных от 0. Определить смещения (SM1, SM2 ) и значение первого (FIRST) и последнего (LAST) положительного значения:
а) задать однобатовые элементы массива;
б) задать двухбайтовые элементы массива.
3. В заданном одномерном массиве целых знакопеременных чисел найти числа, кратные 4, подсчитать их количество и определить смещение (SM) первого такого числа. Определить, сколько положительных значений содержится в массиве до первого элемента, кратного 4. Предусмотреть обработку ситуаций, когда в исходном массиве нет значений, кратных 4, и когда элемент, кратный 4, является первым в исходном массиве:
а) задать однобатовые элементы массива;
б) задать двухбайтовые элементы массива.
4. В заданном одномерном массиве целых знакопеременных чисел определить смещение (SM) первого отрицательного элемента. Все отрицательные значения из исходного массива запомнить в области DEST. Количество элементов в этой области подсчитать:
а) задать однобатовые элементы массива;
б) задать двухбайтовые элементы массива.
5. В заданном одномерном массиве целых знакопеременных чисел определить количество значений, кратных 4. Все отрицательные значения из исходного массива после последнего элемента, кратного 4, запомнить в области DEST. Предусмотреть обработку ситуаций, когда в исходном массиве нет значений, кратных 4, и когда элемент, кратный 4, является последним в исходном массиве:
а) задать однобатовые элементы массива;
б) задать двухбайтовые элементы массива.
6. В одномерном массиве целых знакопеременных чисел подсчитать количество четных и нечетных значений, исключая 0 (нуль не считать ни четным, ни нечетным). Найти номер первого четного элемента и последнего нечетного. Запомнить номера в переменных N_CHET и N_NECHET:
а) задать однобатовые элементы массива;
б) задать двухбайтовые элементы массива.
7. В одномерном массиве целых знакопеременных чисел найти значение первого отрицательного элемента и запомнить его в переменной FIRST. Все значения из исходного массива до первого отрицательного элемента запомнить в области DEST. Количество элементов в этой области подсчитать:
а) задать однобатовые элементы массива;
б) задать двухбайтовые элементы массива.