Команды микропроцессора МП i8080 и стенда

Обозначение команды Код команды Размер, байт Кол. такт Операции команды Состояния признаков Состав циклов
S Z 0 AC 0 P 1Cr
1 2 3 4 5 6 7
1. Команды пересылки данных
mov Rd, Rs 01DDDSSS (Rs) ® Rd Признаки не изменяются F
mov M, Rs 01110SSS (Rs) ® M(HL) FW
mov R1, M 01DDD110 (M(HL)) ® Rd FR
mvi Rd, D8 00DDD 110 D8 (D8) ® Rd FR
mvi M, D8 36 D8 (D8) ® M(HL) FRW
lxi RP, D16 00RD0001 D16 ® RP FRR
lda Addr 3A Addr (M (Addr)) ® A FRRR
sta Addr 32 Addr (A) ® M(Addr) FRRW
ldax X1 00X11010 (M(X1)) ® A FR
stax X1 00X10010 (A) ® M(X1) FW
lhld Addr 2A Addr (M (Addr)) ® L (M(Addr+1))®H FRRRR
shld Addr 22 Addr (L) ® M(Addr) (H)®M(Addr+1) FRRWW
sphl F9 (HL) ® SP S
pchl E9 (HL) ® PC S
xchg EB (HL) « (DE) F
xthl E3 (M (SP)) « (L) (M (SP+1)) « (H) FRRWW
push X2 11X20101 M (SP-1)(X2H) M (SP-2) (X2L) (SP ):= (SP) – 2 SWW
pop X2 11X20001 (M (SP))® X2L (M (SP+1))® X2H (SP) := (SP) + 2 FRR
out Port D3 D8 (A) ® PORT FRO
in Port DB D8 (PORT) ® A FRI

Продолжение таблицы

2. Команды преобразования и обработки
1 2 3 4 5 6 7
add Rs 10000SSS A (A)+(Rs) S Z AC P Cr F
add M A (A)+(M(HL)) S Z AC P Cr FR
adc Rs 10001SSS A (A)+(Rs)+Cr S Z AC P Cr F
adc M 8E A(A)+(M(HL))+Cr S Z AC P Cr FR
adi D8 C6 D8 A (A)+D8 S Z AC P Cr FR
aci D8 CE D8 A (A)+D8+Cr S Z AC P Cr FR
ana Rs 10100SSS A (A)^ (Rs) S Z AC P Cr=0 F
ana M A6 A (A)^ ( M(HL)) S Z AC P Cr=0 FR
ani D8 E6 D8 A (A)^ D8 S Z AC P Cr=0 FR
sbb Rs 10011SSS A(A) – (Rs) – Cr S Z AC P Cr F
sbb M 9E A(A) – (M(HL)) – Cr S Z AC P Cr FR
sbi D8 DE D8 A (A) – D8 – C S Z AC P Cr FR
sub Rs 10010SSS A (A) – (Rs) S Z AC P Cr F
sbb M A (A) – (M(HL)) S Z AC P Cr FR
sui D8 D6 D8 A (A) – D8 S Z AC P Cr FR
ora Rs 10110SSS A (A)۷ (Rs) S Z AC P Cr=0 F
ora M B6 A (A)۷(M(HL)) S Z AC P Cr=0 FR
ori D8 F6 D8 A (A)۷ D8 S Z AC P Cr=0 FR
xra Rs 10101SSS A (A) # (Rs) S Z AC P Cr=0 F
xra M A (A)# (M(HL)) S Z AC P Cr=0 FR
xri D8 EE D8 A (A) # D8 S Z AC P Cr=0 FR
cmp Rs 10111SSS A (A), Rs(Rs) (A) – (Rs) S Z AC P Cr F
cmp M BE А (A), M:=(M(HL)) (A) – (M(HL)) S Z AC P Cr FR
cpi D8 FE D8 A:=(A), (A) – D8 S Z AC P Cr FR
cma 2F A (А) Не изменяются F
inr Rd 00DDD100 Rd (Rd)+1 S Z AC P F
inr M M(HL)(M(HL))+1 S Z AC P FRW
dcr Rd 00DDD101 Rd (Rd) – 1 S Z AC P F
dcr M M(HL)(M(HL)) – 1 S Z AC P FRW
inx RP 00RP0011 RP (RP) + 1 Не изменяются F
dcx RP 00RP1011 RP (RP) – 1 Не изменяются F
dad RP 00RP1001 HL (HL) + (RP) Cr FBB
daa A (Aкор.) S Z AC P Cr F
rlc A0←A7; Cr← A7 ; Ai+1←Ai Cr F
rrc OF A0→A7; Cr← A0; Ai+1→Ai Cr F
ral Cr←A7; Cr→ A0; Ai+1←Ai Cr F
rar 1F A0→Cr; A7← Cr; Ai+1→Ai; Cr F

Продолжение таблицы



3. Команды управления программой
1 2 3 4 5 7
jmp Addr C3 Addr PC Addr Не изменяются FRR
Jcond Addr 11CCC010 PC Addr Не изменяются FRR
call Addr CD Addr (PCH) ® M (SP – 1) (PCL) ® M (SP – 2) (SP) := (SP-2) PC) Addr Не изменяются SRRWW
Ccond Addr 11CCC100 При выполнении условия: (PCH) ® M (SP – 1) (PCL) ® M (SP – 2) (SP): = (SP-2) PC Addr Не изменяются SRR/SRRWW
ret C9 PCL (M (SP)) PCH (M (SP + 1)) SP (SP + 2) Не изменяются FRR
  Rcond 11CCC000 При выполнении условия: PCL (M (SP)) PCH (M (SP + 1)) SP (SP + 2) Не изменяются S/SRR
  rstV 11VVV111 (PCH) ® M (SP – 1) (PCL) ®M (SP – 2) SP (SP – 2) PCH 00h PCL Команды микропроцессора МП i8080 и стенда - student2.ru Не изменяются SWW
               
4 Команды управления процессором
stc Cr1 Cr F
cmc Cr←Сr Cr F
nop PC (PC+1) Не изменяются F
ei FB TгПр←1 Не изменяются F
di F3 ТгПр←0 Не изменяются F
hlt Останов с отключением шин Не изменяются FB

В таблице применены следующие обозначения:

F – четырехтактный цикл выборки кода операции;

S – шеститактный цикл выборки кода операции;

R – цикл чтения памяти;

I – цикл чтения из дополнительной области (внешних устройств);

W – цикл записи в память;

O – цикл записи в дополнительную область (внешних устройств);

B – цикл захвата шины;

DDD – двоичный код регистра приемника и SSS – двоичный код регистра источника: A=111; B=000; C=001; D=010; E=011; H=100; L=101;

Rd – регистр приемник; (Rd) – содержимое регистра – приемника;

Rs – регистр источник; (Rs) – содержимое регистра источника;

D 8 – байт данных;

D16 – двухбайтное слово данных (в коде команды после кода операции располагается младший байт данных, за которым располагается старший байт данных);

Addr – двухбайтное слово адреса (в коде команды расположение младшего и старшего байтов адреса аналогично указанному для D16);

(M(Х)) – содержимое ячейки памяти с адресом, содержащемся в объекте Х;

(Ri) – содержимое регистра с именем Ri;

RP – пара регистров, код которой для пар RP следующий:

ВС=00; DE=01; HL=10; SP=11;

X1 – пара регистров, код которой для пар X1 следующий:

BC=00; DE=01;

X2 – пара регистров, код которой для пар X2 следующий:

BC=00; DE=01; HL=10; PSW=11 (PSW=AF);

Port – байт адреса регистра ввода/вывода;

۷, ^, # – логические операции ИЛИ, И, ИСКЛЮЧАЮЩЕЕ ИЛИ;

S, Z, AC, Cr, P – признаки знака и нуля результата, переноса/заёма между тетрадами и байта результата вцелом, четности состава единичных разрядов в байте результата преобразования соответственно;

Ai – содержимое i – го разряда аккумулятора;

Cond – условия, определяемые состоянием битов признаков в регистре F;

CCC – код условия, в соответствующий обозначению признака в обозначении команды, следующий:

– NZ – не нуль (Z=0) CCC=000 / Z – нуль (Z=1) CCC=001;

– NC –нет переноса (Сr=0) ССС=010 / C – перенос (Сr=1) ССС=011;

– PO – нечетное число единиц в слове результата (P=0) CCC=100 / PE – четное число единиц (P=1) CCC=101;

– P – положительность (S=0) CCC=110 / M – отрицательность (S=1) CCC=111;

ТгПр – триггер разрешения/запрета прерываний.

Лабораторная работа 3

Исследование арифметико-логического
устройства (АЛУ) учебных стендов

Цель работы

Экспериментальное исследование свойств АЛУ учебных стендов и закрепление знаний по организации АЛУ ЭВМ, основам преобразования числовой информации.

Задание на работу

3.2.1. Для набора операций АЛУ микропроцессора учебного стенда, инициируемых командами add B (код 80); sub B (90); cmp В (В8); ana М (А6); ora В (В0); xra В (А8); rlc (07); rrc (0F); inr М (34); dcr В (05); inx В (03); dcx D (1В) составьте функциональную схему АЛУ, соответствующую одношинной организации внутренней магистрали данных.

3.2.2. Подготовьте листинг программы для покомандного прогона приведенного набора команд по форме табл. 2.2 лабораторной работы 2. В графе 5 таблицы отобразите сведения по исходным данным загрузки регистров на входе АЛУ числами перед выполнением операции и сведения о месте и результате выполнения операции. В качестве числовых значений для операций АЛУ используйте номера исполнителей работы по списку группы в hex-формате.

3.2.3. Выполняя покомандный прогон программы, зафиксируйте результаты выполнения операций в части числового результата и состояния битов обобщённых признаков по содержимому регистра F.

3.2.4. Проведите анализ и подготовьтесь к объяснению полученных результатов по отчёту.

Наши рекомендации