Пример решения задачи. Порядок решения задач разберем на примере задачи переноса четных чисел из массива с начальным адресом ADR = 200H и длиной N = 8 в массив с начальным адресом
Порядок решения задач разберем на примере задачи переноса четных чисел из массива с начальным адресом ADR = 200H и длиной N = 8 в массив с начальным адресом ADR2 = 2A0H. Схема алгоритма решения задачи изображена на рис.3.3, а схема программы PRIM приведена на рис.3.4.
В схеме программы использован вычитающий счетчик элементов исходного массива, построенный на регистре В. Исходным загружаемым в счетчик числом является длина массива (В ← 8), изменением текущего состояния счетчика производится уменьшение содержимого регистра В на единицу (В ← В – 1).
Определение четности элемента исходного массива осуществляется путем определения значения младшего бита двоичного кода этого числа. Если меньший бит равен 0, то число четное, а если младший бит равен 1 – число нечетное.
Определение значения младшего бита в программе выполнено путем операции сдвига вправо и проверки значения признака переноса «С» регистра признаков F. В данном примере определение четности числа начинается с пересылки A←M, т. к. команды сдвига выполняются только в аккумуляторе.
В микропроцессорах, как правило, нет команд пересылки данных из одной ячейки памяти в другую, поэтому сначала данные из ячейки памяти с адресом в HL пересылаются в регистр А, а затем из регистра А – в ячейку памяти с адресом в DE.
Текст исходного модуля рассматриваемой программы имеет следующий вид:
N EQU 8 ; директивы
ADR2 EQU 2A0H ; определения
ADR SET 200H ; имен
ORG 1A0H ; директива установки адреса программы
MVI B, N ; B ← N
LXI D, ADR2 ; DE ← ADR2
LXI H, ADR ; HL ← ADR
M1: MOV A, M ; A ← MHL
RRC ; сдвиг вправо
JC M2 ; если есть перенос –
; переход по метке M2
MOV A, M ; A ← MHL Команды
STAX D ; A → MDE программы
INX D ; DE + 1 → DE
M2: INX H ; HL + 1 → HL
DCR B ; B – 1 → B
JNZ M1 ; если результат предыдущей
; операции ≠ 0 – переход
; по метке М1
HLT ; остановка процессора
END ; директива прекращения
; ассемблирования
Далее производится подготовка загрузочных модулей и отладка программы PRIM с помощью симулятора СРМ.
Функциональная схема ядра первого 8-разрядного
Микрокомпьютера
Функциональная схема ядра первого микрокомпьютера на базе 8-разрядного МП приведена на рис.3.5. Схема содержит 8-разрядный микропроцессор МП, генератор тактовых импульсов ГТИ, системный контроллер СК, шинный формирователь адреса ШФ, постоянное ПЗУ и оперативное ОЗУ запоминающие устройства, шины адреса ША, шины данных ШД, шины управления ШУ.
МП реализован на БИС КР580ВМ80. ГТИ реализован на микросхеме КР580ГФ24 и формирует синхросигналы для МП.
ШФ адреса, выполненный на микросхеме КР580ВА86, и СК, выполненный на микросхеме КР580ВК28, формируют сигналы для системной шины – ША, ШД, ШУ.
ПЗУ – энергонезависимая память, предназначенная для хранения программ.
ОЗУ – оперативная память, предназначенная для записи и чтения данных в процессе вычислений.
Подобную функциональную схему имеют серийно выпускаемые программируемые контроллеры, используемые в автоматизированных системах управления технологическими процессами (АСУ ТП), а также микроконтроллеры, применяемые для встраиваемых систем обработки информации.
Для управления несложными объектами и технологическими процессами обычно используются измерительные преобразователи с погрешностью несколько процентов и применяются классические алгоритмы ПИД – регулирования. Для решения такого широко распространенного круга задач, а также встраиваемых приложений 8-разрядные микропрцессоры являются эффективным средством реализации систем управления, ибо применение 16 и 32-разрядных процессоров в этих задачах функционально избыточно и дорого.
Контрольные вопросы
1.Определите назначение РОН, адресного регистра, регистра команд, флажкового регистра.
2.С какой целью РОН объединяются в регистровые пары?
3.В чем отличие структурной схемы МС от ее программной модели?
4. Какие блоки входят в состав центрального процессора?
5.Перечислите достоинства и недостатки языка программирования ассемблер. Для решения каких задач целесообразно применять этот язык программирования?
6.Для чего предназначена программа-симулятор?
7. В чем состоит отличие целевых и инструментальных МС?
Дата добавления: 2016-06-13; просмотров: 852;