![](/user_photo/2706_HbeT2.jpg)
- •Електроніка і мікропроцесорна техніка
- •Луцьк 2002
- •Тема 1. Транзистори
- •Тема 2. Логіка.
- •Алгебра логіки Висловлювання і числення висловлювань
- •Закони алгебри логіки
- •Тема 3. Системи числення. Арифметичні дії над числами в двійковій системі числення
- •Тема 4. Вузли еом
- •4.1. Суматор
- •4.2. Послідовний суматор
- •4.4. Дешифратор
- •4.5. Перетворювачі з цифровою індикацією.
- •4.6. Перетворювач коду 8421 в 2421
- •4.7. Програмована логічна матриця (плм)
- •4.8. Накопичуючий суматор
- •Тема 5. Основні принципи програмування мікропроцесора
- •Способи адресації
- •Прапорці
- •Завдання по темі 5
- •Завдання до задачі № 2.
- •Примітка. Всі константи задані в шістнадцятковому коді. Завдання до задачі № 3
- •6. Рішення технологічних задач з допомогою мікропроцесора
- •Нехай необхідно рахувати цифри від 0 до 10. Напрям рахунку може бути від 0 до 10 і навпаки від 10 до 0 з кроком 1. Блок-схема алгоритму (структурна схема / програми зображена на рис. 8.1, а,б.)
- •Тема 7. Опис режиму програмованого вводу/виводу в мікропроцесорному комплекті кр 580
- •Основні операції мікропроцесора
- •2. Структурна схема мпк для виконання операцій.
- •Системний контролер і шинний формувач
- •Завдання на роботу по темі 7.
- •Тема 8. Підключення дисплею та клавіатури до еом
- •Організація вводу інформацій і завдання режиму роботи.
- •Тема 9. Організація пам’яті. Операційна система еом
- •9.1. Організація пам'яті
- •9.2. Операційна система еом.
- •Завдання на самостійну роботу по темі 9.
- •Тема 10. Основи програмування логічної моделі мікропроцесорного контролера Реміконт р-130
- •10.1. Призначення і функціональні можливості логічної моделі р-130
- •3. Принципи програмування
- •4. Основні алгоритми логіко-програмного управління
- •5. Правила побудови програми.
- •Додаток 1.
- •Система команд мп кр580вм80
- •Т а б л и ц а пз. 1. Коды регистров
- •43018, М.Луцьк, вул.Львівська, 75
Додаток 1.
Рис.1.
Рис.2
Додаток 2.
Система команд мп кр580вм80
Система команд данного МП содержит команды всех основных групп— пересылки, арифметические, логические, команды управления, оперативные, связи с подпрограммами и команды ввода-вывода. Для описания системы команд, приведенной в табл. П3.5—П3.10, используются следующие условные обозначения: DDD и SSS—код одного из рабочих регистров ЦПЭ в формате команды, причем D—регистр-приемник; S—регистр-источник (коды регистров приведены в табл. П3.1); М—ячейка памяти, адрес которой указан в регистровой паре HL; rp—регистровая пара (В, D, Н и УС); RP—код регистровой пары в формате команды, имеющий значения, приведенные в табл. П3.2; rh—регистр пары, в котором содержатся -чаршие разряды, n—регистр пары, в котором содержатся младшие разряды; <В> и <Вз> —второй и третий байты команды соответственно; [( ) ( )]— содержимое ячейки памяти, адрес которой указан в скобках
Т а б л и ц а пз. 1. Коды регистров
Регистр
|
ЦПЭ
|
А
|
В
|
с
|
D
|
Е
|
Н
|
L
|
М
| |
Код
|
регистра
|
111
|
000
|
001
|
010
|
011
|
100
|
101
|
110
|
Таблица П3.2. Коды регистровых пар
Регистровая пара
|
ВС
|
DE |
HL
|
УС |
RP
|
00 |
01 |
10 |
11 |
Для записи команд при программировании используются мнемокоды; операнды записываются , как правило, в 16-ричном коде. Обозначения цифр и чисел от 0 до 15 в различных системах счисления приведённы в таблице П 3.3.
Т я блиц а ПЗ.З. Системы счисления
Десятичная
|
Двоичная
|
Восьмеричная
|
Шестнадцатеричная
|
0 |
0000 |
0 |
0
|
1
|
0001
|
1
|
1
|
2
|
0010
|
2
|
2
|
3
|
0011
|
3
|
3
|
4
|
0100
|
4
|
4
|
5
|
0101
|
5
|
5
|
6
|
0110
|
6
|
6
|
7
|
0111
|
7
|
7
|
8 |
1000 |
10 |
8 |
9
|
1001 |
11
|
9
|
10 |
1010 |
12 |
А |
11 |
1011 |
13 |
В |
12 |
1100 |
14 |
С |
13 |
1101 |
15 |
D |
14 |
1110 |
16 |
E |
15 |
1111 |
17 |
F |
Обозначения флагов и коды условий приведены в таблице П 3.4. Команды МП КР580ВМ80 приведены в табл. П 3.5—П 3.10.
Таблица П3.4. Коды условий и значения флагов
Условие
|
(ССС) –код условия в формате команды
|
Условие
|
(ССС) – код условия в формате команды
|
NZ— ненулевой результат текущей,(Z)=0 |
000
|
Р0 — нечетность числа единиц результата, (Р)=0
|
100
|
Z—нулевой результат текущей операции, (Z)=1
|
001
|
РЕ—четность числа единиц результата, (Р) = 1
|
101
|
NC—отсутствие переноса, (CY)=0 |
010 |
Р—результат положительный, (S)=0
|
110
|
С-наличие переноса, (СY)=1 |
011 |
М-результат отрицательный, (S)=1 |
111 |
Таблица П3.5. Команды пересылки, загрузки и хранения
Мнемони-ческое обозначение
|
Название
|
Выполняе-мые операции
|
Формат команды
|
Число тактов
|
Формирование флагов
|
MOV r1; r2.
|
Пересылка из регистра в регистр |
(r1)←(r2)
|
01DDDSSS
|
5
|
Не фор-меруются
|
MOV r, М
|
Пересылка из памяти в регистр |
(r)←[(H)(L)]
|
01DDD110
|
7
|
—»—
|
MOV М, г
|
Пересылка из регистра в память |
[(H)(L)]←(r)
|
01110SSS
|
7
|
—»—
|
MVI г
|
Загрузка регистра константой
|
(r)←<В2>
|
00DDD110<В2>
|
7
|
—»—
|
MVI М
|
Загрузка памяти константой
|
[(H)(L)]←<B2>
|
001100110 <В2> |
10
|
—»— |
LXI rр
|
Загрузка пары регистров
|
(гh)←<В3>, (rl)←<В2>
|
00RP0001 <В2> <Вз>
|
10
|
—»—
|
LDA
|
Загрузка А прямая
|
(А)←[<Вз><В2>]
|
00111010 <В2> <Вз>
|
13
|
—»—
|
STA
|
Загрузка памяти прямая
|
[<Вз><В2>]← (А)
|
00110010 <В2> <Вз>
|
13
|
—»—
|
LHLD
|
Загрузка регистров Н и Lсодержимым двух ячеек памяти |
(L)←[<B3><B2>], (Н)←[<Вз><В2>+1] |
00101010 <В2> <Вз> |
16
|
—»—
|
SHLD
|
Запоминание содержимого регистров HL по адресу |
[<B3><B2>]←(L), [<Вз><В2>+1]←(Н) |
00100010 <В2> <Вз>
|
16
|
—»—
|
LDAX rр (LDAX В, LDAX D)
|
Косвенная загрузка А
|
(А)←[(rр)] только для rp=B, rp=D
|
00RP1010
|
7
|
|
STAX гр (STAX В, STAX D)
|
Запоминание содержимого А по адресу (rp)
|
[(гр)]←(А) только для rр=В, rp=D
|
00RP0010
|
7
|
—»—
|
XCHG
|
Обмен между регистрами HL и DE |
(H)↔(D), (L)↔(E)
|
11101011
|
4
|
—»—
|
Таблица П3.6. Арифметические, инкрементные и декрементные команды
Мнемо-ническое обозначе-ние |
Название
|
Выполняемые операции
|
Формат команды
|
Число тактов
|
Формирование флагов
|
| ||||
ADD r
|
Сложение содержимого регистра с А
|
(А)←(А)+г
|
10000SSS
|
4
|
Фор миру ются все флаги |
| ||||
ADDМ
|
Сложение содержимого памяти с А
|
(А)←(А)+[(H)(L)]
|
10000110
|
7
|
Toже
|
| ||||
ADI
|
Сложение константы с А
|
(А)←(А)+<В2>
|
11000110 <В2>
|
7
|
—»— |
| ||||
ADCг
|
Сложение содержимого регистра с А с переносом
|
(A)←(A)+(r)+(CY)
|
10001SSS
|
4
|
—»—
|
| ||||
ADO M
|
Сложение содержимого памяти с А переносом |
(А)←(А)+[(H)(L)]+(CY)
|
10001110
|
7
|
—»—
|
| ||||
INR г
|
Инкремент регистра |
(r)←(r)+l |
000DDD100 |
5
|
Z, S, P, CY1 |
| ||||
INRМ
|
Инкремент ячейки памяти |
[(H)(L)]←[(H)(L)]+1
|
00110100
|
10
|
Z, S, P, CY1 |
| ||||
DCRг
|
Декремент регистра |
(r)←(r)-l
|
00DDD101 |
5
|
Z, S, P, CY1 |
| ||||
DCRМ
|
Декремент ячейки памяти |
[(H)(L)]←[(H)(L)]-1
|
00110101
|
10
|
Z, S, P, CY1 |
| ||||
INXгр
|
Инкремент пары регистров |
(rh)(rl)←(rh)(rl)+l
|
00RP0011
|
5
|
He фор- миру- тся |
| ||||
DCXгр
|
Декремент пары регистров
|
(rh)(rl)←(rh)(rl)-l
|
00RP1011
|
5
|
—»— |
| ||||
DAD rp
|
Двойное сложение пары регистров |
(H)(L)←(H)(L)+ +(rh)(rl) |
00RP1001
|
10
|
CY
|
| ||||
DAA
|
Десятичная коррекция содержимого аккумулятора
|
8-разрядное число в аккумуляторе преобразуется в двоично-десятичную форму по следующему правилу: |
00100111
|
4
|
Формиру ются все флаги |
| ||||
|
|
1) если содержимое четырех младших разрядов аккумулятора больше 9 или если (CY1)=l, то к аккумулятору добавляется число 6; 2) если содержимое четырех старших разрядов стало после этого больше 9 или если (CY)=1, то число 6 добавляется и к содержимому четырех старших разрядов аккумулятора |
|
|
| |||||
ACI
|
Сложение константы с А с переносом
|
(A)←(A)+<B2>+ +(CY)
|
11001110 <В2>
|
7
|
—»—
| |||||
SUB r
|
Вычитание содержимого регистра из А |
(А)←(А)-(г)
|
10010SSS
|
4
|
—»-
| |||||
SUBМ
|
Вычитание содержимого памяти из А |
(A)←(A)-[(H)(L)]
|
10010110
|
7
|
—»—
| |||||
SUI
|
Вычитание константы из А |
(А)←(А)-<В2>
|
11010110 <B2>
|
7
|
—»—
| |||||
SBBг
|
Вычитание регистра с заё- мом |
(A)←(A)-(r)-(CY)
|
10011SSS
|
4
|
—»—
| |||||
SBBМ
|
Вычитание па мяти с заемом |
(a)←(a)-[(h)(l)]- -(CY) |
10011110
|
7
|
—»— | |||||
SBI
|
Вычитание константы с заемом |
(A)←(A)-<B2>-(CY)
|
11011110 <В2>
|
7
|
—»—
|
Таблица П3.7. Логические команды
Мнемо-ническое обозна-чение
|
Название
|
Выполняемые операции
|
Формат команды
|
Число тактов
|
Формирование флагов
|
ANA r
|
Логическое умножение регистра с А
|
(А)←(А)^(г), (CY)←0; (CY1)←0
|
10100SSS
|
4
|
Формиру ются все фла- ги |
ANAМ
|
Логическое умножение ячейки памяти с А |
(A)←(A)^[(H)(L)], (CY)←0; (CY1)←0
|
10100110
|
7
|
То же
|
ANI
|
Логическое умножение константы с А |
(A)←(A)^<B2>, (CY)←0; (CY1)←0
|
11100110 <В2> |
7
|
—»— |
XRAг
|
Отрицание равнозначности с регистром |
(А)←(А) (CY)←0; (CY1)←0
|
10101SSS
|
4
|
—»— |
XRAМ
|
Отрицание равнозначности с памятью |
(A)←(A) (CY)←0; (CY1)←0
|
10101110
|
7 |
—»— |
XRI
|
Отрицание равнозначности с константой |
(A)←(A) (CY)←0; (CY1)←0
|
11101110 <В2>
|
7
|
—»—
|
ORAг
|
Логическое сложение регистра с А |
(A)←(A) v (r),
|
10110SSS
|
4
|
—»— |
ORAМ
|
Логическое сложение ячейки памяти с А |
(A)←(A)v[(H)(L)], (CY)←0; (CY1)←0 |
10110110
|
7
|
То же
|
ORI
|
Логическое сло-жение константы с А |
(A)←(A) v <B2>; (CY)←0; (CY1)←0
|
11110110 <В2> |
7
|
—»— |
СМР г
|
Сравнение А с регистром
|
(А)—(г), (А) не изменяется; (Z)=l, если (А)=(г); (СY)=1,если(А)<(г) |
10111SSS
|
4
|
—»—
|
СМР М
|
Сравнение А с ячейкой памяти
|
(A)-[(H)(L)], (А) не изменяется; (Z)=l, если (A)=[(H)(L)]; (CY)=1, если (A)<[(H)(L)] |
10111110
|
7
|
—»—
|
CPI
|
Сравнение А с константой
|
(A)-<B2>, (А) не изменяется; (Z)=l, если (А)=<В2>; (CY)=1, если (А)<<В2> |
11111110 <B2>
|
7
|
—»—
|
Таблица П3.8. Оперативные команды
Мнемоническое обозначение
|
Название
|
Выполняемые операции
|
Формат команды
|
Число тактов
|
Формирование флагов
|
RLC
|
Сдвиг А влево циклический
|
(An+1)←(An), (Ао)←(А7) (CY)←(A7)
|
00000111
|
4
|
CY
|
RRC
|
Сдвиг А вправо циклический
|
(Аn)←(An+1), (А7)←(Ао), (CY)←(Ao)
|
00001111
|
4
|
CY
|
RAL
|
Сдвиг А влево с переносом
|
(Аn+1 )←(Аn), (CY)←(A7), (Ao)←(CY)
|
00010111
|
4
|
CY
|
RAR
|
Сдвиг А вправо с переносом
|
(Аn )←(An+1), (CY)←(Ao), (A7)←(CY)
|
00011111
|
4
|
CY
|
СМА
|
Инвертирование аккумуля тора |
(A)←(Ā)
|
00101111
|
4
|
He фор миру ются |
CMC
|
Инвертирова ние регистра переноса |
(CY)←(CY)
|
00111П1
|
4
|
CY
|
STC
|
Установка регистра переноса |
(CY)←1
|
00110111
|
4
|
CY
|
Таблица П3.9. Команды управления и связи с подпрограммами
Мнемоническое обозначение
|
Название
|
Выполняемые операции
|
Формат команды
|
Число тактов
|
Формирование флагов
| |||||
JMP
|
Безусловный переход
|
(СК)←<В3><В2>
|
11000011 <В2> <В3> |
10
|
Не фор миру ются | |||||
J(условие)
|
Условный переход |
Если условие (ССС)1 выполняется, то (СК)←<В3><В2> |
11ССС010 <В2> <В3> |
10
|
То же
| |||||
CALL
|
Вызов подпро граммы безус ловный |
[(УС)-1] ←(СК)н, [(УC-2]←(СК)L, (УС)←(УС)-2, (СК)←<В3><В2> |
11001101 <В2> <В3> |
17
|
Не фор миру ются | |||||
С (условие)
|
Вызов подпрограммы условный
|
Если условие (ССС)1 выполняется, то [(УС)-1] ←(СК)н, [(УС)-2]←(СК)L, (УС)←(УС)-2, (СК)←<В3><В2> |
11 ССС 100 <В2> <В3>
|
11/17
|
То же
| |||||
RET
|
Возврат из подпрограммы безусловный |
(СК)L→[(УС)], (СК)н←[(УС)+1], (УС)←(УС)+2 |
11001001
|
10 |
Не формируются | |||||
R(условие)
|
Возврат из подпрограммы условный
|
Если условие (ССС)1, выполняется, то (СК)L←[(УС)], (СК)н←[(УС)+1], (УС)←(УС)+2 |
11ССС000
|
5/11
|
То же
| |||||
RSTN
|
Вызов подпрограммы прерываний
|
[(УС)-1]-(СК)н, [(УС)-2] ←(СК)L, (УС)←(УС)-2, (СК)←8(ААА)
|
11ААА111 Состояние СК после выполнения RSTN 0000000000ААА000 номер N прерывающей программы |
11
|
То же
| |||||
PCHL
|
Загрузка счетчика команд
|
(СК)н←(Н),(ck)l←(l)
|
11101001
|
5
|
То же
|
Таблица П3.10. Команди управлення, ввода-вивода и операции со стеком.
Мнемониче-ское обозначение
|
Название
|
Выполняемые операции
|
Формат команды
|
Число тактов
|
Формирование флагов
|
PUSH rp
|
Проталкивание з стек содержимого регистровой пары (кроме rр=УС) |
[(УС)-1]←(rh), [(УС)-2]←(rl), (УС)←(УС)-2
|
11RP0101
|
11
|
Не формируются
|
PUSH PSW
|
Проталкивание в стек слова состояния ЦПЭ
|
[(УС)-1]←(A), [(У С)-2]←(CY), [(У С)-2]1←1, [(У С)-2]2←(Р), [(У С)-2]3←0 [(У С)-2]4←(CY1) [(У С)-2]5←0 [(У С)-2]6←(Z), [(У С)-2]7←(S), (УС)←(УС)-2 |
11110101 Слово состояния ЦПЭ: Do=CY1;D1=l; D2=P; Dз=0; D4=CY1; D5=0; D6=Z; D7=S |
11
|
То же
|
POP rp
|
Выталкива-ние из стека cтровой пары (кроме гр=УС) содержимого регистровой пары (кромеrp=УС)
|
(rl)←[(УС)], (гh)←[(УС)+1], (УС)←(УС)+2
|
11RP0001
|
10
|
Не формируются
|
POP PSW
|
Выталкивание из стека слова состояния ЦПЭ
|
(СY)←[(УС)]о, (Р)←[(УС)2, (СY1)←[(УС)]4, (Z)←[(УС)]6, (S)←[(УС)7, (А)←[(УС)+1] (УС)←(УС)+2
|
11110001
|
10
|
S, Z, CY, CY1, P
|
XTHL
|
Обмен между вершиной стека и парой HL |
(L)↔[(УС)], (Н)↔[(УС) +1]
|
11100011
|
18
|
He форми-руются |
SPHL
|
Загрузка указателя стека |
(УС)←(Н)(L)
|
11111001 |
5
|
To же |
INВУi
|
Ввод
|
(А)←(ВУi)
|
11011011 Адрес ВУi
|
10
|
То же
|
OUTВУi
|
Вывод
|
(ВУi)←(А)
|
11010011 Адрес ВУi |
10
|
То же
|
EI
|
Разрешение прерываний
|
Разрешается прерывание после выполнения следующей команды |
11111011
|
4
|
То же
|
DI
|
Запрет прерываний
|
Прерывание запрещается после выполнения команды DI |
11110011
|
4
|
То же
|
HLT
|
Останов
|
Процессор останавливается |
01110110
|
7 |
То же |
NOP
|
Пустая операция
|
Никакие операции не выполняются |
00000000
|
4
|
То же
|
НАВЧАЛЬНО-МЕТОДИЧНЕ ВИДАННЯ
Методичні вказівки до виконання графічно-розрахункових і контрольних робіт для студентів технічних спеціальностей
Комп'ютерний набір та верстка: Т.Цизь
Редактор: Л.Тиха
Підп. до друку 2002. Формат 60х84/16. Папір офс.
Гарн. Таймс. Ум. друк. арк. 2,6. Обл. – вид. арк. 2,8.
Тираж 100 прим. Зам. 117.
Редакційно-видавничий відділ
Луцький державний технічний університет