
- •Введение
- •Архитектура эвм с минимальной системой команд
- •Структура эвм
- •Представление данных команд
- •Состояния и режимы работы эвм
- •Взаимодействие пользователя с моделью эвм.
- •Изучение архитектуры эвм
- •Лабораторная работа №1. Ознакомление с архитектурой эвм, директивами управления моделью эвм
- •Лабораторная работа №2. Программирование алгоритма без цикла
- •Лабораторная работа №3. Программирование цикла с переадресацией
- •Изучение алгоритма работы центрального устройства управления эвм
- •Принцип микропрограммного управления
- •Микропрограмма центрального устройства управления эвм
- •Работа модели эвм в режиме такт
- •Средства контроля знаний студентов
- •Лабораторная работа №4. Изучение основного машинного цикла
- •Лабораторная работа №5. Изучение микропрограммы арифметических операций
- •Лабораторная работа №6. Изучение микропрограммы посылочных операций
- •Лабораторная работа №7. Изучение микропрограммы операций передачи управления
- •Управление виртуальной эвм
- •Директивы управления системой
- •Параметры модели
- •Кодирование неисправностей
- •Сети коммуникаций
- •Маршрутизация
- •Лабораторная работа №8. Поиск оптимального маршрута по критерию пропускной способности коммуникационной сети
- •Лабораторная работа №9. Методы формирования плана распределения информации
- •Построить рельеф в заданной топологии сети для узла получателя 1.
- •Лабораторная работа №10. Статистические оценки характеристик сети
- •Литература
- •Основная литература
- •Дополнительная литература
- •Приложение
- •Оглавление
Лабораторная работа №3. Программирование цикла с переадресацией
При решении задач, связанных с обработкой массивов, возникает необходимость изменения исполнительного адреса при повторном выполнении некоторых команд. Эта задача может быть решена путем использования косвенной адресации и модификации содержимого ячейки ОП с косвенным адресом.
Необходимость косвенной адресации в арифметических и посылочных командах исключает возможность использования в программе относительной адресации для создания перемещаемой области данных. В таких случаях имеет смысл разрабатывать перемещаемую программу.
Для получения перемещаемой программы необходимо использовать относительную адресацию в командах передачи управления. Это обеспечит возможность расположения программы в произвольной области ОП. Настройка программы по месту расположения осуществляется заданием базового адреса. Приведенный далее пример иллюстрирует разработку перемещаемой программы.
Пример 2.7. Разработка программы вычисления суммы чисел С1, С2,…, СN.
Граф-схема алгоритма решения задачи показана на рис. 2.2.
Исходными данными в этой задаче являются N – количество суммируемых чисел и С1, С2,…, СN – суммируемые числа. Заметим, что должно выполняться условие N≥1, т.к, алгоритм предусматривает по крайней мере одно суммирование. Кроме того, предполагается, что суммируемые числа записаны в ОП подряд. Результатом является сумма S. Используемые для решения задачи промежуточные переменные имеют следующий смысл: A1 – адрес C1 , Ai – адрес Ci, AN+1 – увеличенный на единицу адрес CN.
Ø
Рис. 2.2. Граф-схема решения задачи
Таблица 2.7
Программа с действительными адресами операндов и относительными адресами переходов
Относительный адрес |
Символическая команда |
Код команды |
Комментарий |
||
КОП |
ТА |
А |
|||
00 |
ВВ |
- |
- |
01000 |
АК:=N |
01 |
ЗП |
П |
00 |
08000 |
ОП [00]:=N |
02 |
ЧТ |
Н |
00 |
07100 |
АК:= 0 |
03 |
ЗП |
П |
01 |
08001 |
S:= 0 |
04 |
ЧТ |
П |
02 |
07002 |
АК:=А1 |
05 |
ЗП |
П |
03 |
08003 |
Аi:=A1 |
06 |
СЛ |
П |
00 |
03000 |
АК:=А1+ N |
07 |
ЗП |
П |
04 |
08004 |
АN+1:=A1+N |
08 |
ЧТ |
П |
01 |
07001 |
АК:=S |
09 |
СЛ |
К |
03 |
03203 |
АК:=S+ОП [Ai] |
10 |
ЗП |
П |
01 |
08001 |
S :=S+ОП [Ai] |
11 |
ЧТ |
П |
03 |
07003 |
АК:=Аi |
12 |
СЛ |
Н |
01 |
03101 |
АК:=Аi+1 |
13 |
ЗП |
П |
03 |
08003 |
Аi:= Аi+1 |
14 |
ВЫЧ |
П |
04 |
04004 |
АК:=Аi-AN+1 |
15 |
УПЗН |
О |
08 |
10308 |
Перейти по адресу РБА+08, если Ai<AN+1 |
16 |
ЧТ |
П |
01 |
07001 |
АК:=S |
17 |
ВЫВ |
- |
- |
02000 |
РВЫВ:=S |
18 |
ОСТ |
- |
- |
12000 |
ОСТАНОВ |
В процессе разработки программы для переменных N, S, А1, Ai, AN+1 выделены ячейки ОП с адресами соответственно 00, 01, 02, 03, 04. Программа может быть размещена в ОП начиная с ячейки 05. Базовый адрес в этом случае должен быть равен 05. Суммируемые числа могут быть записаны в ОП начиная с ячейки 24. В этом случае в ячейку 02 должна быть записана константа 00024.
ЗАДАНИЕ
Разработать перемещаемую программу определения заданной характеристики последовательности чисел С1, С2, …, СN. Варианты заданий приведены в табл. 2.8.
Записать программу, необходимые константы и исходные данные в ОП ЭВМ.
Отладить программу.
Таблица 2.8
Варианты задания
№ Варианта |
Характеристика последовательности чисел С1, С2, …, СN |
1 |
Количество положительных чисел |
2 |
Номер минимального числа |
3 |
Произведение всех чисел |
4 |
Номер первого отрицательного числа |
5 |
Количество чисел, равных С1 |
6 |
Количество отрицательных чисел |
7 |
Максимальное число |
8 |
Номер первого положительного числа |
9 |
Минимальное число |
10 |
Номер максимального числа |
11 |
Количество нулей |
12 |
Количество чисел, меньших С1 |
Содержание отчета
Формулировка варианта задания (см. п.1 «Задания», таб. 2.8).
Граф-схема алгоритма решения задачи.
Программа.
Размещение в ОП переменных, программы и необходимых констант, значение базового адреса.
Значения исходных данных и результата выполнения программы.