Микропроцессорные системы управления электроприводом. Иванов В.М. - 15 стр.

UptoLike

Составители: 

14
Здесь относительный адрес определяется относительно счетчика команд
(адреса следующей команды) SZAD=604+134=740, а абсолютный адрес
(STEK=160002) - задан словом в ячейке памяти, следующей за командой.
Способы записи алгоритмов. Этапу разработки программы обычно
предшествует этап разработки алгоритма. Любой алгоритм записывается в виде
некоторой последовательности действий (операторов) над входной информацией. К
наиболее распространенным способам записи алгоритмов относятся: графический,
операторный, словесный.
Для упрощения разработки алгоритмов рекомендуется соблюдать следующие
правила:
1. Первоначальную разработку алгоритмов производить укрупнено с
последующей поэтапной детализацией
.
2. Строить алгоритм по модульному принципу, принимая в качестве модуля
отдельные завершенные фрагменты, отладку которых можно производить
автономно.
3. Использовать ограниченное число типовых структур.
Специфические особенности системы команд микроЭВМ накладывают в
основном отпечаток на детализацию модулей, особенно, при первоначальном
ознакомлении с микроЭВМ. Рассмотрим пример (см. рис. 2) разработки алгоритма
упорядочивания массива произвольных
положительных чисел в порядке их
убывания.
Размещение чисел в заданном порядке осуществляется путем формирования
промежуточного массива. При просмотре исходного массива определяется
наибольшее число, которое пересылается в промежуточный массив, а затем
наибольший элемент исходного массива исключается путем его обнуления. Прежде
чем приступить к составлению программы необходимо распределить память,
присвоить абсолютные адреса именам
переменным и определить константы,
заданные в символьной форме. На этапе отладки для размещения программы
целесообразно использовать оперативную память. И хотя подобных ограничений при
использовании средств эмуляции не возникает, будем придерживаться стандарта
микроЭВМ «МС 1201.02», согласно которому под ОЗУ отведено адресное
пространство в диапазоне адресов 400-40000. Конкретное назначение массивов
информации здесь не рассматривается. Пусть
исходный массив состоит из 10(8)
чисел и определен с помощью директивы «.WORD» (см. программу 1). Под
промежуточный массив отведем область памяти с помощью директивы «.BLKW».
Введем символические адреса (Adm1 и Adm2), определяющие начало 1-го и 2-го
массивов. Учитывая, что язык ассемблера поддерживает обработку арифметических
выражений, конечные адреса массивов могут быть определены непосредственно в
полях операндов как Adm1+10
и Adm2+10. Подобное определение операндов в
принципе не обязательно. Эквивалентность обработки может быть достигнута,
например, путем ввода размерности массива и использованием счетчика циклов.