Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
//рисунок
Реализация алгоритма требует двух команд перехода, это связано с тем, что оперативная память линейна, и ветви алгоритма располагаются последовательно.
ОП
Общая часть 1
Команда условного перехода
Команда безусловного перехода |
Общая часть 2 |
Ветвь 2 |
Имеют место алгоритмы в которых ветвь 2 отсутствует, тогда команда безусловного перехода не нужна.
Команда безусловного перехода - простейшая из команд передачи управления. Состоит из кода операции и адреса перехода.
Р | … | А |
Этапы выполнения команды:
1. ((УК)) → РК
2. (УК)+L → УК
3. Дешифратор Р.
4. А→УК
5. Перейти к пункту 1
Большинство команд передачи кправления - условного перехода используется, как правило, трехадресные команды. Одна из схем выполнения: при выполнении условия – переход к следующей команде. Условие может быть:
1. Если (А) < (В), то С→УК
2. Если (А)>(В), то С→УК
3. Если (А)=(В), то С→УК
4. Если (А)≠(В), то С→УК
Организация перехода разделена на 2 стадии: подготовка условия и проверка. Формирование условия готовит предыдущая команда.
Для передачи значения истинности условия в процессоре существует регистр флагов (РФ). Часть разрядов РФ не используется(резерв), а остальные делятся на управляющие, системные, разряды состояний. Совокупность разрядов состояния называют регистром признаков результата. (РПр) Многие команды арифметико-логического типа вырабатывают признак результата - бит, записывающийся в один из разрядов РФ. Разрядность флагов состояния от 4 до 6: флаг нуля, флаг знака, флаг переполнения, флаг отрицания результат и т.д.
То есть команды, не вырабатывают признак результата, сохраняют первое значение в регистре флага.
Каждой команде условного перехода ставится в соответствие определенный набор флагов. На команду условного перехода влияет предшествующая команда, последней выработавшей признак результата. Конечной командой блока подготовки проверки условие, является команда сравнения. Выполняется как вычитание, в память результат не записывается, а записывается в регистр признаков.
Схема алгоритма:
1. ((УК))→РК
2. (УК)+L→РК
3. Дешифрация р.
4. Если [(РПр) and (Np)]≠0, то А2 → УК
5. Переход к пункту 1
Np-набор признаков
Циклы
Цикл- участок программы, обеспечивающее многократное выполнение некоторой части алгоритма до тех пор, пока не выполнится условие окончания. Цикл состоит из внутренней части, выполняемой многократно, и внешней – команд подготовки и команд завершения. Многократность обеспечивается командой условия передачи.
Первая команда внутреннего цикла - та, на которую указывает стрелка. Последняя – та, откуда выходит стрелка. Между ними - тело цикла.
Классификация циклов:
-По расположению проверки условия перехода бывают: с предшествующей и с последующей (например untile и repeat)
-По типу алгоритма (цикл с заданным числом повторений, цикл итерационного типа, цикл смешанного типа)
1. Цикл с заданным числом повторов(со счетчиком)
Управление осуществляется с помощью специальной переменной – счетчик. С этим связаны задачи, когда надо программировать элементы, найти максимум и т.д
Схема:
Инициализация |
I = 1,3 |
Основные вычисления |
N-i=0? |
I = i+1 |
I, s = s +i |
Условие перехода |
Подготовка перехода |
2. Цикл итерационного типа – по имеющемуся приближенному значению строят более точное для решения с нужной точностью. Количество повторов заранее неизвестно. Цикл можно посчитать отдельным блоком программы, решающим некоторою логическую законченную задачу, т.е цикл можно считать элементом программы, как их команды.
Дата публикования: 2014-11-26; Прочитано: 184 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!