Формулировка варианта задания.................................................................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 - до тех пор пока.