- •Лабораторная работа №1
- •1.Машинный язык и Ассемблер.
- •2.Команды передачи данных.
- •Обмен байтами
- •2.1.Регистровая адресация.
- •2.2.Косвенная регистровая адресация.
- •2.3.Прямая адресация.
- •2.4.Непосредственная адресация.
- •2.5.Неявная адресация.
- •3.Команды арифметических и логических операций.
- •4.Применение команд передачи данных, арифметических и логических
- •5.Задания для подготовки и лабораторной работе.
- •6.Требования к отчету.
- •7.Вопросы.
2.Команды передачи данных.
Состав команд передачи данных микропроцессора КР580ВМ80А представлен в табл.2.1.Они выполняют передачу данных из регистра в регистр, размещение данных в память и т.п.Это наиболее часто используемые команды.
Табл.2.1.Команды передачи данных.
ОДНОБАЙТОВЫЕ ПЕРЕСЫЛКИ ДВУХБАЙТОВЫЕ ПЕРЕСЫЛКИ
MOV R1,R ;5/7 ;R-->R1. LXI YZ,D16 ;10; D16-->YZ
MVI R,D8 ;5/10;D8->R SHLD ADR ;16; L->M(ADR),H->M(ADR+1)
STAX YZ ; 7 ;A->M(YZ) LHLD ADR ;16; M(ADR)->L,M(ADR+1)->H
LDAX YZ ; 7 ;M(YZ)->A PUSH YZ ;11; YZ->M(SP-1) M(SP-2)
STA ADR ; 13 ;A->M(ADR) SP-2->SP
LDA ADR ; 13 ;M(ADR)->A POP YZ ;11; M(SP) M(SP+1)->YZ
SP+2->SP
Обмен байтами
XCHG ; 4 ; HL<->DE
XTHL ;18 ; H<->M(SP+1),L<->M(SP)
Система команд микропроцессора КР580ВМ80А позволяет использовать
следующие виды адресации:
-регистровая;
-косвенная регистровая;
-прямая;
-непосредственная;
-неявная.
Рассмотрим эти методы адресации и команды, которые их используют.
2.1.Регистровая адресация.
В случае регистровой адресации операнд отыскивается во внутреннем
регистре микропроцессора. Регистровые адресации всегда являются одно байтовыми, потому что они не требуют адресов и данных вне микропроцессора. Примером таких команд являются команды: MOV A,D (переслать содержимое регистра D в регистр А);MOV H,L (переслать содержимое регистра L в регистр H).
2.2.Косвенная регистровая адресация.
При этом способе адресации пара регистров HL указывает на адрес операнда в памяти. Примером являются такие команды, как MOV A,M (переслать содержимое ячейки памяти, адрес которой находится в паре HL, в аккумулятор); MOV M,D и т.п.При этом способе адресации могут также использоваться регистровые пары BC и DE.В этом случае будут использоваться команды STAX YZ (сохранение содержимого аккумулятора в памяти,
адрес которой находится в паре YZ) и LDAX YZ (загрузка в аккумулятор содержимым ячейки памяти, адрес которой находится в паре YZ).При использовании этих команд вместо YZ подставляется конкретная регистровая пара (если адрес в паре ВС, то записывается B; если DE, то записывается D).На пример LDAX B,STAX D.
2.3.Прямая адресация.
В случае прямой адресации 2-ой и 3-ий байт команды прямо указывает на адрес операнда в памяти (т.о. адрес данных следует за кодом операции).Этим адресом может быть адрес памяти (LDA 22FFH,STA 50DDH и т.п) ,а также номер порта ввода/вывода (IN E4H,OUT 7FH).
2.4.Непосредственная адресация.
В случае непосредственных команд операнд следует сразу же за кодом операции. Примером являются: MVI A,13H; LXI H,80AAH; LXI D,7F00H и т.п.
2.5.Неявная адресация.
Этот метод используется, если не нужно искать данные или адреса в других регистрах микропроцессора, памяти или устройствах ввода/вывода. Все события происходят внутри микропроцессора.
3.Команды арифметических и логических операций.
Все арифметические операции микропроцессор производит, помещая операнды в АЛУ. При выполнении любой арифметической или логической команды один из операндов всегда находится в аккумуляторе. Результат также помещается в аккумулятор. Микропроцессор КР580ВМ80А (i8080/8085) может выполнять такие арифметические операции, как сложение и вычитание.
Таблицы истинности логических операции представлены ниже.
операция И |
Операция ИЛИ |
Операция ИСКЛ. ИЛИ | |||||||||||||
ANA R, |
ANI D8 |
ORA R |
ORI D8 |
XRA R |
XRI D8 | ||||||||||
X |
Y |
X |
*Y |
X |
Y |
X+Y |
X |
Y |
| ||||||
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 | ||||||
1 |
0 |
0 |
|
1 |
0 |
1 |
1 |
0 |
1 | ||||||
0 |
1 |
0 |
|
0 |
1 |
1 |
0 |
1 |
1 | ||||||
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
1 |
0 |
Команды логических и арифметических операций приведены в табл.3.1.
Табл.3.1.Команды арифметических и логических операций микропроцес-
сора КР580ВМ80А (i8080/8085).
-------------------------------------------------------------------¬
¦ АРИФМЕТИЧЕСКМЕ И ЛОГИЧЕСКИЕ ОПЕРАЦИИ С ОДНИМ ОПЕРАНДОМ
¦ CMC`` ;4; C--> C. INR``` R ;5/10; R+1-->R
¦ STC`` ;4; 1--> C. DCR``` R ;5/10; R-1-->R
¦ CMA ;4; A--> A. INX YZ ; 5 ; YZ+1-->YZ
¦ DAA` ;4; десятичная DCX YZ ; 5 ; YZ-1-->YZ
¦ коррекция
¦ АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ ОПЕРАЦИИ С ДВУМЯ ОПЕРАНДАМИ ¦
¦ 8-МИ БИТОВЫЕ ОПЕРАЦИИ
¦ ADD` R ;4/7; A+R-->A. ADI` D8 ;7; A+D8-->A.
¦ ADC` R ;4/7; A+R+C-->A ACI` D8 ;7; A+D8+C-->A.
¦ SUB` R ;4/7; A-R-->A SUI` D8 ;7; A-D8-->A.
¦ SBB` R ;4/7; A-R-C-->A SBI` D8 ;7; A-D8-C-->A.
¦ ANA` R ;4/7; A^R-->A ANI` D8 ;7; A^D8-->A.
¦ ORA` R ;4/7; A R-->A ORI` D8 ;7; A D8-->A.
¦ XRA` R ;4/7; A R-->A XRI` D8 ;7; A D8-->A.
¦
¦ КОМАНДЫ СДВИГА СОДЕРЖ.АККУМ. ¦ CPI` D8 ; 7 ; установка призна- ¦
¦ RLC`` ;4; сдвиг влево ¦ CMP` R ;4/7; ков в соответсвии ¦
¦ RAL`` ;4; сдвиг влево через С ¦ с A-D8 или A-R. ¦
¦ RRC`` ;4; сдвиг вправо +---------------------------------+
¦ RAR`` ;4; сдвиг вправо через ¦ 16-ТИ БИТОВЫЕ ОПЕРАЦИИ ¦
¦ бит признака С ¦ DAD` YZ ;10;HL+YZ-->HL ¦
+--------------------------------+---------------------------------+
¦ `-команда оказывает влияние на все признаки
¦ ``-команда оказывает влияние на признак С
¦ ```-команда оказывает влияние на все признаки,кроме С
¦ D8-восьми разрядный операнд (байт данных)
¦ D16-шестнадцати разрядный операнд(слово данных)
¦ YZ-содержимое регистровой пары BC,DE,HL или SP
L-------------------------------------------------------------------