Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка по МП[1].doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
513.02 Кб
Скачать

4.4. Порядок выполнения работы

4.4.1. Включить микроЭВМ, нажав кнопку «~».

4.4.2. Нажать кнопку «СБ».

4.4.3. Записать в память программу в соответствии с вариантом. Первую команду записать в ячейку с адресом 0800.

4.4.4. Перевести микроЭВМ в пошаговый режим работы, для чего нажать кнопку РБ/шаг и КМ/ЦК. Для последующего шага нажать кнопку ШГ.

4.4.5. Передать управление в ячейку 0800.

4.4.6. Нажимая кнопку ШГ проконтролировать состояние светодиодных шины адреса, шины данных и байта состояния в каждом цикле команды. Сравнить полученные результаты с циклограммой, полученной теоретически.

4.5. Контрольные вопросы

4.5.1. Назначение БР, различие регистров по свойствам.

4.5.2. Последовательность действий АЛУ при выполнении арифметической или логической операции.

4.5.3. Что представляет собой цикл команды?

4.5.4. Какова последовательность действий МП при выборе кода операции?

4.5.5. Для чего применяется байт состояния?

4.5.6. Как синхронизируется работа МП с внешними устройствами?

4.5.7. Задано следующее исходное состояние регистров процессора и памяти в 16-ричном коде:

А=80; F=43; D=80; C=33; D=80; E=32; H=80; L=20; SP=321; PC=8006; (8020)=38; (8021)=30; (321D)=30; (321F)=40.

Нарисуйте и поясните временные диаграммы выполнения одной из следующих команд:

CNZ 102H XTHL LHLD 8020H INR A

STA 8030H IN 20H POPH

4.5.8. В аккумуляторе А находится код 3Е, в регистре признаков F – код 02. Каково будет состояние A и F после выполнения одной из следующих команд:

ADI 3FH SVI 40H ANI XRI 5EH

ORI 25H CPI RAR RLC

  1. Лабораторная работа мп-3 Программирование арифметических операций в системе команд микропроцессора кр580вм80

    1. Цель работы: целью работы является изучение приемов программирования арифметических операций.

    1. Основные теоретические сведения.

Из арифметических операций микропроцессор (МП) выполняет только сложение и вычитание над байтами в двоичном и двоично-десятичном формате. Операции умножения и деления, а также операции с другими форматами данных реализуются с помощью программ. Операнды представляются в формате с фиксированной запятой. В арифметических операциях адресуется обычно только один операнд, второй операнд находится, как правило, в аккумуляторе, туда же после выполнения арифметической операции загружается готовый результат, а в соответствии с полученным результатом устанавливаются признаки S, Z, C, P в регистре признаков. При этом надо помнить, что при выполнении арифметических операций данные, находящиеся в аккумуляторе, «разрушаются», за исключением операций сравнения, при которых оба операнда не изменяются, а лишь происходит установка битов регистра признаков.

Арифметические данные выполняются с помощью команд сложения ADD и вычитания SUB над однобайтовыми числами. При сложении чисел формата более одного байта вначале складываются младшие байты с помощью команды сложение с переносом ADG. Затем та же операция проводится над старшими байтами, в ней автоматически учитывается перенос из младшего байта, если он имел место. При вычитании чисел формата более одного байта вначале вычитаются младшие с помощью команды вычитание с заемом SBB. Затем та же операция проводится над старшими байтами, в ней автоматически учитывается заем из младшего байта, если он имел место.

Также в системе команд МП имеются команды сложения двухбайтных слов DAD rp (BL+rp→HL), при этом суммируется содержимое регистра HL с содержимым регистровой пары rp (BC, DE, HL, SP), а результат заносится в регистр HL и устанавливается бит переносов.

При сложении чисел, представленных в двоично-десятичном коде после каждой однобитной операции сложения, необходимо выполнить операцию десятичной коррекции аккумулятора DAA. Однако необходимо помнить, что команда DAA не может быть использована для коррекции результата вычитания, выполняемого над двоично-десятичными числами. Вычитание двоично-десятичных чисел обычно заменяется сложением вычитаемого, представленного в коде дополнения до 10, где n – число десятичных разрядов вычитаемого. Например, 85-33=85+(100-33)=85+(99-33)+1)=85+67=152, при этом перенос, возникающий в n+1 разряд не учитывается, поэтому результат равен 52.