Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPLAB.DOC
Скачиваний:
6
Добавлен:
18.09.2019
Размер:
1.41 Mб
Скачать

-29-

Приложение 2 арифметические и логические операции с одним операндом

MC" :4: С  С инверсия флага переноса

STC" :4: 1 С установка флага переноса

СМА :4: A  А инверсия аккумулятора

DAA' :4: Десятичная коррекция

INR "' R :5/10: R+1 R инкремент регистра (памяти)

DCR"' R :5/10: R -1 R декремент регистра (памяти)

INX YZ :5: YZ+1 YZ инкремент регистровой пары

DCX YZ :5: YZ - 1 YZ декремент регистровой пары

С двумя операндами

ADD' R :4/7: A+RA сложения

ADC' R :4/7: A+R+CA сложения с учетом переноса

SUB' R :4/7: A-RА вычитания

SBB' R :4/7: A-R-CA вычитания с учетом заема

ANA' R :4/7: A R A логическое И

ORA' R :4/7: A R A логическое ИЛИ

XRA' R :4/7: A  R A исключающее ИЛИ

ADI' #D8 :7: A + #D8 A увеличения

ACI' #D8 :7: A+#D8+CA увеличения с учетом переноса

SUB' #D8 :7: A - #D8 A уменьшения

SBI' #D8 :7: A-#D8-CA уменьшения с учетом заема

ANI' #D8 :7: A  #D8A маскирование по И

ORI' #D8 :7: A  #D8A маскирование по ИЛИ

XRI' #D8 :7: A  #D8A маскирование искл. ИЛИ

DAD'' YZ* :10: HL+YZHL двухбайтное сложение

ОПЕРАЦИИ СРАВНЕНИЯ

(В аккумуляторе значение не изменяется)

CMP' R :4/7: (A-R) F установка признаков в F

СРI' #D8 :7: (A-D8) F в соответствии с A-R или А - #D8

-28-

Приложение 2

Система команд микропроцессора кр580ик80а

ОДНОБАЙТОВЫЕ ПЕРЕСЫЛКИ

MOV R1, R :5/7 : R  R1 регистр-регистр (регистр-память)

MVI R, #D8 :7/10: #D8  R операнда в регистр(или память) STAX YZ :7: AM(YZ) аккумулятор-память LDAX YZ :7: M(YZ) A память-аккумулятор STA ADR :13: AM(ADR) аккумулятор-память

LDA ADR :13: M(ADR) А память-аккумулятор;

ДВУХБАЙТОВЫЕ ПЕРЕСЫЛКИ

LXI YZ, #D16 :10: #D16YZ операнда в регистроовую пару

SHLD ADR :16: HM(ADR+1), из регистрoвой пары HL

LM(ADR) в память

LHLD ADR :16: M(ADR) L, из памяти в регистровую

M(ADR+I) H пару

PUSH YZ YZM(SP-1)+ из регистровой пары

+M(SP-2), SP-2  SP в стек;

POP YZ :11: M(SP)+M(SP+1) из стека в регистровую пару:

(POP'PSW)  YZ, SP+2  YZ

SPHL :5: HL  SP из НL в указатель стека;

ОБМЕН БАЙТАМИ

XCHD :4: HLDE между HL и DE;

XTHL :18: HM(SP+1), между HL и стеком;

L  M(SP)

КОМАНДЫ ВВОДА И ВЫВОДА

IN N :10: (N)  A из порта N в аккумулятор;

OUT N :10: A (N) из аккумулятора в порт N;

-9-

-

-10-

7) 07 Н (вывод) - РгСк;

8) 08 H-OF Н (вывод) - СУ;

Схема расположения вышеописанных устройств на плате учебной микро-ЭВМ показана на рис. 1.2.

Состояния портов ввода и вывода индицируются светодиодными индикаторами ИС (младший разряд DO всегда справа). Порт ввода имеет установочные переключатели (УП) для установки входного двоичного кода. Блок индикации состояния магистралей (БИСМ) позволяет с помощью светодиодных индикаторов отображать двоичный код на основных магистралях: адресной АО-А15, шине данных DO-D8 и магистрали управления (упр.) соответственно слева направо MRD, MWR, IORD, IOWR, INTA.

В микро-ЭВМ ввод и вывод информации осуществляется в гексаде-цимальном (шестнадцатиричном) коде. Для вывода информации служит шестиразрядный семисегментный светодиодный дисплей. В первых четырех разрядах высвечивается адрес ячейки памяти или наименование регистра (в шестнадцатиразрядных регистрах к имени старшего байта добавляется Н (hi), а к младшему - L (low)). 5 и 6 разряды индицируют содержимое содержимое ячейки памяти одного из программно-доступных регистров МП. Так как индикатор дисплея отображает алфавитно-цифровую информацию, т.е. цифры от 0 до 9 и букв А, В, С, D, Е, F, Н, L, R, для букв В, D, Л, O недостаточно семи сегментов, поэтому для них используются стилизованные обозначения

Например, при чтении содержимого ячейки памяти с адресом 08ВА H, если там хранится значение F3 Н, на дисплее индицируется:

При чтении содержимого регистра D, если там хранится значение 2С Н, на дисплее будет следующая информация:

27-

Приложение 1

УСЛОВНОЕ ОБОЗНАЧЕНИЕ МИКРОПРОЦЕССОРА KP580BM80

-

-26

регистр общего назначения). Определить признаки результатов операций в соответствии с приложением 4.

Таблица 25

адрес кода команды

содержимое регистра А

содержимое регистра В

содержимое регистра FL

исходные данные

4.11. Исследовать работу программы 7 в реальном времени. Подобрать время цикла, чтобы частота мигания светодиодов порта вывода была около 2 герц. Ззаписать текст исправленной программы в отчет.

Содержание отчета.

Ответ по выполненной работе должен содержать:

1. Наименование и цель работы.

2. Внутреннюю структуру МП БИС КР580ВМ80.

3. Исходные тексты исследуемых программ 1-3.

4. Исходные тексты видоизмененных и разработанных программ 2,4,5,6,7 согласно пунктам 5 и 6 предварительной подготовки к работе.

5. Таблицы 2.1-2.5 с полученными результатами исследования программ 1-6.

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

1. За сколько машинных тактов выполняется каждая команда в программах 1 и 2?

2. Укажите различие в способах адресации, использованных в учебной

микро-ЭВМ, выполненной на БИС МПК серии К580.

3. Укажите все возможные способы адресации, используемые при составлении программ 3, 4и 5.

4. Какую функцию выполняет в МП БИС КП580ВМ80 регистр FL? В результате выполнения каких команд, приведенных в пункте 4 предварительной подготовки, может произойти изменение в регистре FL?

5. Какая команда использует бит вспомогательного переноса АС в регистре FL?

6. Какие сигналы в магистрали управления осуществляют обмен информацией с памятью и внешними устройствами?

7. Преобразуйте восьмиразрядный бинарный код в гексадецимальный или наоборот.

11-

Клавиатура микро-ЭВМ содержит 26 клавиш 16 из которых являются алфавитно-цифровыми для ввода информации (1, 2, 3, 4, :), 6, 7, S, 9, A, B, C, D, E, F) и 10 клавиш управления режимом (см.рисЛ.З) в число которых входят:

R - установка в начальное состояние (сброс). При сбросе очищаются ячейки программной памяти, и программный счетчик СР устанавливается на адрес 0800 Н.

ШК - выполнение программы в пошаговом режиме (нажатие на клавишу вызывает выполнение одной команды программы, после чего происходит останов).

ШЦ - поцикловое выполнение программы (нажатие на клавишу вызывает выполнение одного цикла команды, при этом гаснет цифровой дисплей (Д) и текущее состояние программы можно отслеживать по состоянию основных магистралей (А0-А15, D0-D8 и упр)).

П - запуск программы в реальном времени.

ПрСт - показать содержимого программного счетчика на дисплее (Д) (адреса памяти, на котором остановлено выполнение программы пользователя)

Ст - (стоп) останов выполнения программы.

ОтА - отыскать адрес (после нажатия на клавишу необходимо набрать на клавиатуре код адреса, после чего высвечивается содержимое адресуемой ячейки памяти).

ОтРг - отыскать регистр (включается отображение на дисплее состояния внутренних программно-доступных регистров первым всегда выводится содержимое аккумулятора).

ЗпУВ -Увеличение (инкрементирование) значения адреса (последовательный просмотр ячеек памяти в сторону увеличения). В режиме ввода информации в ячейку памяти с клавиатуры (горит запятая в последнем разряде) по нажатию этой клавиши введенные данные записываются в память). В режиме просмотра регистров нажатие на клавишу вызывает поочередный вывод содержимого остальных регистров в следующем порядке: А, FL, В, С, D, E, Н, L, SPH, SPL. РСН, PCL.

Ум - Уменьшние (декрементирование) значения адреса (последовательный просмотр ячеек памяти в сторону уменьшения адреса). В режиме просмотра регистров нажатие на клавишу вызывает поочередный вывод содержимого остальных регистров в порядке обратном вышеуказанному.

-12- -25-

нести в таблицу 2.3.

Таблица 2.3

Цикл

Магистраль адресов (двоичный код)

Магистраль данных (двоичный код)

Магистраль упр. (двоичный код)


адрес кода команды

содержимое регистра А

содержимое ячейки 081C

содержимом порта ввода

содержимом порта вывод


Рис. 1.2. Внешний вид учебной микро-ЭВМ.

Таблица 2.4

4. Исследовать разработанные программы 4,5 и 6.

4.1. Ввести в микро-ЭВМ программу 4.

4.2. Записать по адресу 081A исследуемое число и просмотреть содержимое ячейки памяти с адресом 081B и аккумулятора. Результаты занести в табл. 2.2

4.3. Осуществить пошаговое исполнение программы с помощью клавиши ШК, фиксируя результаты каждого шага в табл.2.2.

4.4. Ввести в микро-ЭВМ программу 5. Программа должна содержать команду десятичной коррекции результата.

4.5. Записать по адресу 081C исследуемое число (18 Н) и установить с помощью переключателей двоичный код (17 Н) в регистре порта ввода, этот код должен высветится светодиодными индикаторами.

4.6. Осуществить пошаговое исполнение программы с помощью клавиши ШК, фиксируя результаты каждого шага в табл-2.4.

4.7. Изменить код в порте ввода на 19Н и снова провести исследование программы 4 согласно пункту 4.6. После заполнения таблицы 4 проверить работу программы в реальном времени с другими исходными данными.

4.8. Ввести в микро-ЭВМ программу 6.

4.9. Записать по адресу 081F Н исследуемое число и установить с помощью переключателей УП двоичный код в регистре порта ввода.

4.10. Осуществить пошаговое исполнение программы с помощью кла виши ШК, фиксируя результаты каждого шага в табл.2.5. (если в программе в команде СМР используется регистр отличный от В, то изменить заголовок в третьей колонке таблицы 2.5. на соответствующий

-24-

адресу следующей команды можно произвести нажатием клавиши ПрСч (программный счетчик).

Таблица 2.1

адрес кода команды

содержимое регистра А

содержимое ячейки 081A

содержимое ячейки 081B

2. Исследовать программу 2.

2.1 Ввести в микро-ЭВМ программу 2.

2.2 Записать по адресу 081A исследуемое число (по указанию преподавателя) и просмотреть содержимое ячейки памяти с адресом 081B и аккумулятора. Результаты занести в табл. 2.2.

2.3 Осуществить пошаговое исполнение программы с помощью клавиши ШК, фиксируя результаты каждого шага в табл.2.2.

Таблица 2. Z

адрес кода

команды

содержимое

регистра А

(аккумул.)

содержимое

регистровой

пары HL

исходное

число и его

адрес

результат

и его

адрес

2.4. Видоизменить и записать программу 2 так, чтобы при ее выполнении исследуемое число первоначально записывалось по адресу 081F. Исследовать видоизмененную программу согласно пункту 2.3.

3. Исследовать программу' 3.

3.1 Ввести в микро-ЭВМ программу 3.

3.2 Установить с помощью переключателей УП двоичный код в регистре порта ввода, этот код должен высветится светодиодными индикаторами. 3.3 Осуществить пуск программы в реальном времени программы с помощью клавиши П, записать данные в портах ввода и вывода. Переустановить код в порте ввода. Запустить программу еще раз и записать данные. 3.4. Исследовать работу программы в поцпкловом режиме. Результаты :

- 13 -

Рис 1.3. Дисплей и клавиатура учебной микро-ЭВМ

-23 -

(УП) для установки входного двоичного кода. Ввод и вывод данных через порты осуществляется командами IN и OUT. Для вывода результата в регистр внешнего порта вместо ячейки памяти с адресом ОВ01 в программе 1 необходимо заменить код команды STA ОВ01 на код команды OUT 05. Поскольку команда OUT двухбайтовая, размер программы уменьшится.

Программа 2

Адрес

Мнемокод

Машинный код

Комментарий

0800

LDA, 0810

ЗА 10 08

, Получить число

0803

СМА

2F

; Инвертировать число

0804

OUT, 05

D3 05

;3аписать число в порт 5

0806

RST 1

CF

; Прервать программу

После выполнения данной программы результат будет высвечен ^ двоичном коде светодиодным индикатором регистра порта вывода. Точно так-же одно из исходных чисел можно вводить через порт ввода с помощью команды IN 05.

Программа 3

Адрес

Мнемокод

Машинный код

Комментарий

0800

IN, 05

DB05

^Ввести число из порта 5

0802

СМА

2F

; Инвертировать число

0803

OUT, 05

D3 05

;3аписать число в порт 5

0805

RST 1

CF

; Прервать программу

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

1. Исследовать программу 1.

1.1 Ввести в микро-ЭВМ программу 1.

1.2 Записать по адресу 0810 исследуемое число ( по указанию преподавателя) и просмотреть содержимое ячейки памяти с адресом 08 Ни аккумулятора. Результаты занести в табл. 2.1. 1.3 Осуществить пошаговое исполнение программы с помощью клавиши ШК, фиксируя результаты каждого шага втабл.2.1. При пошаговом исследовании программы после просмотра регистров и ячеек памяти возврат к

- 14 -

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

1. Изучение порядка включения микро-ЭВМ.

Включить блок питания. В результате выполнения тестовой программы светодиоды выходного регистра и сегменты дисплея будут включены на несколько секунд одновременно со звуковым сигналом и выводится на дисплей сообщение НАЧАЛО. Находясь в этом режиме, который называется ОЖИДАНИЕ, микро-ЭВМ реагирует на нажатие клавиш правления. Нажать на клавишу R и убедиться, что все тестовые программы проходят заново.

2. Исследовать содержимое памяти

Нажать клавишу ОтА, при этом на дисплее появится сообщение начала выполнения режима отыскания адреса ( _ _ _ _ )- Последовательно нажать на клавиши 0, 8, 0, 0, при этом убедиться, что каждая цифра записывается в младший разряд адресного дисплея и произойдет сдвиг всех знаков в адресном дисплее влево. После введения четвертой цифры на дисплей выводится число, записанное по адресу 0800 Н. В случае ошибки необходимо снова нажать клавишу ОтА и повторить ввод адреса. Нажимая клавишу ЗпУВ просмотреть содержимое первых десяти адресов ОЗУ. Используя клавишу УМ просмотреть содержимое памяти в обратном порядке.

Задание: а) просмотреть и занести в табл. 1.1 содержимое ячеек памяти по адресам FE6 - FFO; б) Просмотреть и записать в табл. 1.1 содержимое первых десяти ячеек ПЗУ.

Таблица 1.1

адрес ячейки памяти

содержимое ячейки

3. Запись информации 6 память микро-ЭВМ

Установить на дисплей содержимое ячейки памяти с адресом 0800Н. Нажать на любую алфавитно-цифровую клавишу. На дисплей выводится значение цифры в младший разряд и загорается знак запятой, свидетельствующий о том, что микро-ЭВМ находится в режиме ввода данных с клавиатуры

- 22 -

Предварительную запись команд программ удобно проводить в более командной форме. В программе указывается начальный адрес каждой команды и при этом понимается, что в зависимости от длины команды в памяти будет заниматься от одной до трех ячеек. При такой записи в левом столбце указывается адреса команд в программе. Это позволяет сократить объем при описании команд программ и сделать более простым их анализ. Так будет выглядеть программа, записанная на языке Ассемблер.

Программа 1 (общий вид записи)

Адрес

Мнемокод

Машинный код

Комментарий

0800

LDA, 0810

ЗА 10 08

', Получить число

080З

СМА

2F

.Инвертировать число

0804

STA, 0811

32 11 08

;3аписать число в память

0807

RST 1

CF

; Прервать программу

В данной программе используется прямой способ адресации. Рассмотрим программу аналогичную программе 1 с использованием косвенного способа адресации ( программа 2)

Программа 2

Адрес

Мнемокод

Машинный код

Комментарий

0800

LXIH,0810

21 10 08

;3аписать в регистры H,L

;число ОВОО

0803

MOV А.М

7E

^извлечь число из адреса,

; указанного в регистрах Н и L

0804

СМА

2F

^инвертировать число

0805

INXM

23

; увеличить на одно число в

;регистрах Н и L

0806

MOV М,А

77

;3аписать число по адресу,

; указанному в регистрах H,L

0807

RST 1

CF

; прервать программу.

Учебная микро-ЭВМ имеет имитаторы внешних устройств в виде двух восьмиразрядных регистров, один из которых имитирует порт ввода с адресом 05Н, а другой - порт вывода с тем же адресом. Состояния портов ввода и вывода индицируются светодиодными индикаторами ИС (младший разряд D0 всегда справа). Порт ввода имеет установочные переключатели

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]