Формулировка варианта задания.................................................................3
Граф-схема алгоритма решения задачи.......................................................3
Программа и распределение памяти
(размещение в ОЗУ переменных, программы и необходимых констант)................................................................................................................................4
Значения исходных данных и результата выполнения программы.........4
Контрольные вопросы...................................................................................5
6.Список используемой литературы................................................................8
1. Задание:
1. Написать программу определения заданной характеристики последовательности чисел С,, С2,..., Сп.
2. Записать программу в мнемокодах.
3. Сохранить набранную программу в виде текстового файла и произвести ассемблирование мнемокодов.
4. Загрузить в ОЗУ необходимые константы и исходные данные.
5. Отладить программу.
2. Графическая схема:

Программа и распределение памяти.
| Адрес | Команда | Примечание | |
| Мнемокод | Код | ||
| 000 | RD #1 | 211001 | Загрузка начального числа массива 001 |
| 001 | WR 30 | 220030 | Запись в 30-ю ячейку |
| 002 | RD #9 | 211009 | Чтение числа 9 |
| 003 | WR 31 | 220031 | Запись в 31-ю ячейку |
| 004 | RD 1 | 210001 | Читаем 30-ю ячейку |
| 005 | WR 32 | 220032 | Запись в 32-ю ячейку |
| 006 | Ml: RD 32 | 212032 | Метка: Чтение 32 ячейки |
| 007 | MUL 30 | 242030 | Умножаем на 30 ячейку |
| 008 | WR 32 | 220032 | Записываем в 32-ю ячейку |
| 009 | RD 30 | 210030 | Читаем 30-ю ячейку |
| 010 | ADD #1 | 231001 | Прибавляем 1 |
| 011 | WR 30 | 220030 | Запись в 30-ю ячейку |
| 012 | RD 31 | 210031 | Читаем 31-ю ячейку |
| 013 | SUB #1 | 241001 | Отнимаем 1 |
| 014 | WR 31 | 220031 | Запись в 31-ю ячейку |
| 015 | JNZ Ml | 120006 | Переходим к метки Мl, если не 0 |
| 016 | RD 32 | 210032 | Читаем ячейку 32 |
| 017 | OUT | 020000 | Вывод результата |
| 018 | HLT | 090000 | Стоп |
4. Значения исходных данных и результата выполнения программы.
Были введены следующие данные:
К = 9 – количество повторов цикла.
Ячейка 30 = 1 – сноска на ячейку 1.
Результат:
OR = 362880 – Произведение всех чисел.

Рисунок 1. – Результат данных процессора при выполнении на 5 шаге.

Рисунок 2. – Результат данных памяти при выполнении на 5 шаге.

Рисунок 1. – Результат данных процессора при выполнении на 8 шаге.

Рисунок 1. – Результат данных памяти при выполнении на 8 шаге.
5. Контрольные вопросы:
Как организовать цикл в программе?
Цикл в программировании - это многократно выполняемая группа команд, часть программы.
Сразу заметим, что в программе может быть такая ситуация, когда цикл вообще не выполняться ни разу.
На языке Паскаль возможны циклы с предусловием, которые организуются с помощью оператора:
while (пока)... do (выполнять)...
Формат оператора: while <условие> do <операция>.
Работа оператора заключается в том, что операция выполняется до тех пор, пока будет выполняться условие, указанное в операторе while.
Если операция содержит не один оператор, а несколько, то их объединяют с помощью ОПЕРАТОРНЫХ СКОБОК begin и end, например;
while <условие> do
begin
s1; s2; s3;...
end;
Оператор цикла с последующим условием (постусловием) похож на оператор цикла с предусловием, но условие вычисляется и проверяется после выполнения операторов, составляющих тело цикла.
Общий вид оператора цикла с постусловием такой:
repeat
s1; s2; s3;... sn
until <условие>,
где s1, s2, s3,..., sn - операторы тела цикла; <условие> - логическое выражение.
Переводится: repeat - повторять, until - до тех пор пока.






