logo
МПУЭВС

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

Обозначение команды

Код команды

Размер, байт

Кол.

такт

Операции команды

Состояния

признаков

Состав

циклов

S Z 0 AC 0 P 1Cr

1

2

3

4

5

6

7

1. Команды пересылки данных

mov Rd, Rs

01DDDSSS

1

5

(Rs)  Rd

Признаки не изменяются

F

mov M, Rs

01110SSS

1

7

(Rs)  M(HL)

FW

mov R1, M

01DDD110

1

7

(M(HL))  Rd

FR

mvi Rd, D8

00DDD 110 D8

2

7

(D8)  Rd

FR

mvi M, D8

36 D8

2

10

(D8)  M(HL)

FRW

lxi RP, D16

00RD0001

3

10

D16  RP

FRR

lda Addr

3A Addr

3

13

(M (Addr))  A

FRRR

sta Addr

32 Addr

3

13

(A)  M(Addr)

FRRW

ldax X1

00X11010

1

7

(M(X1))  A

FR

stax X1

00X10010

1

7

(A)  M(X1)

FW

lhld Addr

2A Addr

3

16

(M (Addr))  L

(M(Addr+1))H

FRRRR

shld Addr

22 Addr

3

16

(L)  M(Addr)

(H)M(Addr+1)

FRRWW

sphl

F9

1

5

(HL)  SP

S

pchl

E9

1

5

(HL)  PC

S

xchg

EB

1

4

(HL)  (DE)

F

xthl

E3

1

16

(M (SP))  (L)

(M (SP+1))  (H)

FRRWW

push X2

11X20101

1

12

M (SP-1)(X2H)

M (SP-2) (X2L)

(SP ):= (SP) – 2

SWW

pop X2

11X20001

1

10

(M (SP)) X2L

(M (SP+1)) X2H

(SP) := (SP) + 2

FRR

out Port

D3 D8

2

10

(A)  PORT

FRO

in Port

DB D8

2

10

(PORT)  A

FRI

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

2. Команды преобразования и обработки

1

2

3

4

5

6

7

add Rs

10000SSS

1

4

A  (A)+(Rs)

S Z AC P Cr

F

add M

86

1

7

A  (A)+(M(HL))

S Z AC P Cr

FR

adc Rs

10001SSS

1

4

A  (A)+(Rs)+Cr

S Z AC P Cr

F

adc M

8E

1

7

A(A)+(M(HL))+Cr

S Z AC P Cr

FR

adi D8

C6 D8

2

7

A  (A)+D8

S Z AC P Cr

FR

aci D8

CE D8

2

7

A  (A)+D8+Cr

S Z AC P Cr

FR

ana Rs

10100SSS

1

4

A  (A)^ (Rs)

S Z AC P Cr=0

F

ana M

A6

1

7

A  (A)^ ( M(HL))

S Z AC P Cr=0

FR

ani D8

E6 D8

2

7

A  (A)^ D8

S Z AC P Cr=0

FR

sbb Rs

10011SSS

1

4

A(A) – (Rs) – Cr

S Z AC P Cr

F

sbb M

9E

1

7

A(A) – (M(HL)) – Cr

S Z AC P Cr

FR

sbi D8

DE D8

2

7

A  (A) – D8 – C

S Z AC P Cr

FR

sub Rs

10010SSS

1

4

A  (A) – (Rs)

S Z AC P Cr

F

sbb M

96

1

7

A (A) – (M(HL))

S Z AC P Cr

FR

sui D8

D6 D8

2

7

A  (A) – D8

S Z AC P Cr

FR

ora Rs

10110SSS

1

4

A  (A)۷ (Rs)

S Z AC P Cr=0

F

ora M

B6

1

7

A (A)۷(M(HL))

S Z AC P Cr=0

FR

ori D8

F6 D8

2

7

A  (A)۷ D8

S Z AC P Cr=0

FR

xra Rs

10101SSS

1

4

A (A) # (Rs)

S Z AC P Cr=0

F

xra M

96

1

7

A  (A)# (M(HL))

S Z AC P Cr=0

FR

xri D8

EE D8

2

7

A  (A) # D8

S Z AC P Cr=0

FR

cmp Rs

10111SSS

1

7

A  (A), Rs(Rs)

(A) – (Rs)

S Z AC P Cr

F

cmp M

BE

1

7

А (A), M:=(M(HL))

(A) – (M(HL))

S Z AC P Cr

FR

cpi D8

FE D8

2

7

A:=(A), (A) – D8

S Z AC P Cr

FR

cma

2F

1

4

A  (А)

Не изменяются

F

inr Rd

00DDD100

1

5

Rd  (Rd)+1

S Z AC P

F

inr M

34

1

10

M(HL)(M(HL))+1

S Z AC P

FRW

dcr Rd

00DDD101

1

5

Rd  (Rd) – 1

S Z AC P

F

dcr M

35

1

10

M(HL)(M(HL)) – 1

S Z AC P

FRW

inx RP

00RP0011

1

5

RP  (RP) + 1

Не изменяются

F

dcx RP

00RP1011

1

5

RP (RP) – 1

Не изменяются

F

dad RP

00RP1001

1

10

HL (HL) + (RP)

Cr

FBB

daa

27

1

4

A  (Aкор.)

S Z AC P Cr

F

rlc

07

1

4

A0←A7; Cr← A7 ; Ai+1←Ai

Cr

F

rrc

OF

1

4

A0→A7; Cr← A0; Ai+1→Ai

Cr

F

ral

17

1

4

Cr←A7; Cr→ A0; Ai+1←Ai

Cr

F

rar

1F

1

4

A0→Cr; A7 Cr; Ai+1→Ai;

Cr

F

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

3. Команды управления программой

1

2

3

4

5

6

7

jmp Addr

C3 Addr

3

10

PC  Addr

Не изменяются

FRR

Jcond Addr

11CCC010

3

10

PC  Addr

Не изменяются

FRR

call Addr

CD Addr

3

17

(PCH)  M (SP – 1)

(PCL)  M (SP – 2)

(SP) := (SP-2)

PC)  Addr

Не изменяются

SRRWW

Ccond Addr

11CCC100

3

17

При выполнении условия:

(PCH)  M (SP – 1)

(PCL)  M (SP – 2)

(SP): = (SP-2)

PC  Addr

Не изменяются

SRR/SRRWW

ret

C9

1

10

PCL  (M (SP))

PCH  (M (SP + 1))

SP  (SP + 2)

Не изменяются

FRR

Rcond

11CCC000

1

10

При выполнении условия:

PCL  (M (SP))

PCH  (M (SP + 1))

SP  (SP + 2)

Не изменяются

S/SRR

rstV

11VVV111

1

11

(PCH)  M (SP – 1)

(PCL) M (SP – 2)

SP  (SP – 2)

PCH  00h

PCL 

Не изменяются

SWW

4 Команды управления процессором

1

2

3

4

5

6

7

stc

37

1

4

Cr1

Cr

F

cmc

37

1

4

Cr←Сr

Cr

F

nop

00

1

4

PC (PC+1)

Не изменяются

F

ei

FB

1

4

TгПр←1

Не изменяются

F

di

F3

1

4

ТгПр←0

Не изменяются

F

hlt

76

1

7

Останов с отключением шин

Не изменяются

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

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