Методические указания к выполнению лабораторных работ по Микропроцессорным средствам (1084778), страница 2
Текст из файла (страница 2)
Регистр Двоичный код
В 000
С 001
Д 010
Е 011
Н 100,
L 101
А (аккумулятор) 111
1.4. Регистр флажков FL содержит 8 двоичных разрядов, используется для фиксации состояний АЛУ процессора. Он включает в себя, в том числе, 5 триггеров (флажков):
а) TZ - триггер нуля,
б) ТС - триггер переноса,
в) ТР - триггер четности,
г) TS - триггер знака,
д) ТД - триггер дополнительного переноса, используемого при десятичной коррекции.
На рис.3 изображен формат регистра
флажков (признаков)
7 6 5 4 3 2 1 0 | -разряды |
S Z O АС О P I G | -обозначение признаков |
Назначение признаков регистра следующее:
S(SIGN)- знак результата операции; S =1,если 7-й разряд равен 1;
Z(ZERO)- признак нуля; Z=l , если результат равен нулю;
AC - дополнительный перенос ; АС=1, если перенос из 3-го разряда в 4-й равен 1 (используется при десятичной коррекции);
P(PARITY)- признак четности; Р=1. если результат имеет четное число единиц;
С (CARRY)- признак переноса; С=1, если есть перенос из старшего разряда регистра результата, т. е. если результат больше 28-1.
В процессе выполнения лабораторных работ наряду с анализом результатов в регистрах СОЗУ, Аккумуляторе и ячейках оперативной памяти надо просматривать и фиксировать в отчете содержимое регистра FL.
5. ЛАБОРАТОРНАЯ РАБОТА N 1
5.1.Цель работы - изучение структуры программной модели МП КР 580 ВМ 80А, методов ввода и вывода данных в регистры МП и ОЗУ, исследование работы МП в различных режимах при реализации линейной программы.
5.2.Порядок выполнения работы
1) Изучить разделы 1-4 настоящих методических указаний.
2) Получить у преподавателя задание на лабораторную работу.
3) Составить программу в системе команд МП К580.
4) Произвести ручное вычисление результата.
5) Преобразовать команды, исходные данные и результат в 16-ричную систему счисления.
6) Ввести программу и исходные данные, проверить правильность ввода.
7) Выполнить программу в режиме по шагам команд.
8) Выполняя пошаговые режимы, записывать содержимое изменяющихся регистров РОН, регистра FL.
Соответствующий формат с примером представлен в табл. 2.
Таблица 2.
1 N шага программы | Содержимое регистров (Н) | Значения признаков | ||||||
7 | PC | A.B.C.D E.H.L | FL | S | Z | D | P | C |
081А | А = BD В = 6F | 94 | 1 | 0 | 1 | 1 | 0 |
5.3. Пояснения к заданию
Заданием предусмотрено написание программы для следующего выражения
W = X ± Y ± Z,
где X, Y, Z - операнды, находящиеся в регистрах РОН.
Далее результат W записывается в ячейку М ОЗУ, по адресу, находящемуся в РОН, после чего вычисляется
V = W ± (M)
где (М) - содержимое ячейки М. Варианты заданий определяются знаками операндов SX,SY,SZ и операциями 01,02,03 (сложение или вычитание). С учетом введенных обозначений реализуемые алгоритмы примут вид:
W=SXXO1 SYYO2 SZ Z
M :=W
V:=W03 (M).
В табл. 3 приведены варианты заданий. Конкретные значения операндов X.Y.Z и адрес ячейки "М" выдаются студентам перед выполнением лабораторной работы. В последних двух графах таблицы указаны наименования РОН для операндов Y, Z.
Таблица 3
Вар | SX | SY | SZ | 01 | 02 | 03 | Используемые РОН | |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
1 | + + - + + + (-) | B | C | |||||
2 | + - + + + + (-) | Д | Е | |||||
3 | + - - + + + (-) | В | Е | |||||
4 | - + + + + + (-) | С | Д | |||||
5 | - + - + + + (-) | В | Д | |||||
6 | - - + + + + (-) | С | В | |||||
7 | - - - + + + (-) | Е | Д | |||||
8 | + + - + - + (-) | С | В | |||||
9 | + - + + - + (-) | Д | С | |||||
10 | + - - + - + (-) | Е | В | |||||
11 | - + + + - + (-) | Е | С | |||||
12 | - + - + - + (-) | Д | В | |||||
13 | - - + + - + (-) | Д | Е | |||||
14 | - - - + - + (-) | В | Е | |||||
15 | + + - - + + (-) | С | Е | |||||
16 | + - + - + + (-) | С | Д | |||||
17 | + - - - + + (-) | В | Д | |||||
18 | - + + - + + (-) | В | С | |||||
19 | - + - - + + (-) | Е | Д | |||||
20 | - - + - + + (-) | C | Д | |||||
21 | - - - - + + (-) | B | Е | |||||
22 | + + - - - + (-) | В | Д | |||||
23 | + - + - - + (-) | Д | Е | |||||
24 | + - - - - + (-) | Е | В | |||||
25 | - + + - - + (-) | Д | С |
Пример.
Пусть требуется вычислить W=X+Y-Z и результат занести в ячейку по адресу 0805.
В качестве исходных данных примем следующие значения:
10-ричные 16-ричные
Х=10 Х=ОА;
Y= 6; Y=06;
Z=40; Z=28.
Так как переменную Z надо вычесть, то преобразуем ее в дополнительный код
[Z]д=[Z2Z1]д=(F-Z2).(16-Z1)=D8.
Предварительно подсчитаем ожидаемый результат при вычислении величины
[W]Д =ОА+06+08=Е8.
Преобразуем результат в прямой код
[W]n =(F-E),(16-8)=-18.
В ячейке М должен находиться результат в дополнительном коде [W]Д
Исходные данные будем размещать в регистрах:
Х-в регистре-аккумуляторе А (код 111).Там же будем получать результаты сложения и вычитания;
Y-в регистре С(001);
Z-в регистре Д(О10).
Адрес ячейки М оперативной памяти (адрес равен 0805Н) будем размещать в регистрах Н(100)=08, L{101)=05.
Программа в мнемонике и в машинных кодах представлена в табл.4. Содержание последней графы табл. 4. прочитанное сверху вниз, является программой в шестнадцатеричном коде.
Таблица 4
Адрес команды | мнемоника | Операции | Команда | |
Двоичная | 16-ричная | |||
6000 6001 6002 | ADDC SUBD MOVM.A | А=А+С 1000 0001 81 А-А-(Д) 1001 0010 92 М=А 0111 0111 77 |
6. ЛАБОРАТОРНАЯ РАБОТА N 2
"ИССЛЕДОВАНИЕ ФУНКЦИОНИРОВАНИЯ МИКРОПРОЦЕССОРА ПРИ РЕАЛИЗАЦИИ РАЗВЕТВЛЯЮЩЕЙСЯ ПРОГРАММЫ"
6.1. Порядок выполнения лабораторной работы N 2
соответствует пунктам 5.2.
6.2.Пояснение к заданию
В основу исследований положены алгоритмы, для реализации которых требуется использование более широкого набора команд, представленных в 1-. 2- и 3-байтовых форматах.
Рассмотрим пример. Пусть требуется вычислить
X1, если Xl< Х2;
Z=
X2,если X1>=X2;
W = X1-X2-Z.
Задаваемые значения переменных XI, Х2 размещаются в регистрах СОЗУ. например,
XI- в РГВ; Х2 - в РГС.
Используемые ячейки оперативной памяти: Ml с адресом ВЗВ2=0825 и М2 с адресом ВЗВ2=0828 3-байтовой команды.
Программа решения задачи в кодах микропроцессора приведена в табл. 5.
Варианты исходных данных:
Вар.1: Х1=[-5]д -> РГВ; Х2=[-3]д-> РГС; W=Х2=[-3]Д
Вар.2: Х1=5 -> РГВ; Х2=3 -> РГС; W-X1=5.
6.3.Задания на выполнение лабораторной работы N 2
Реализуемые зависимости:
1) Вычислить Х1=Х ± Y1; Х2=Х +- Y2
2) Вычислить Z= Х1+У1, если Xl< X2
Х2-Х , если Х1>=Х2
3) Вычислить W = X ± Х2 + Z
4) Результат заслать в ячейку "М" оперативной памяти. Варианты заданий приведены в табл. 6. Значения операндов X, Y1,Y2 для вариантов заданий 26-50 в табл. 6 указаны в скобках.
Варианты заданий определяются кодами арифметических операций 01,02,03 кодами операций условных переходов, реализующих условия, вариантами значений исходных данных X, Yl,Y2 и используемыми регистрами для размещения исходных данных.
С учетом введенных обозначений реализуемые зависимости примут вид:
Х1=Х 01 У1; Х2=Х 02 Y2;