Procesor 8080

Lista i kody rozkazów

  1. Informacje ogólne

Rejestry

A (Acc)

8

F(Flagi)

8

Dla par rejestrów BC, DE, HL, starsza część słowa znajduje się w rejestrach odpowiednio: B, D, H.

B

8

C

8

D

8

E

8

H

8

L

8

PC (Program Counter)

16

SP (Stack Pointer)

16

Rejestr F (Flagi)

7

0

SF

ZF

0

AC

0

PF

1

CY

SF - flaga znaku, ZF - flaga zera, AC - flaga przeniesienia połówkowego,

PF - flaga parzystości, CY - flaga przeniesienia binarnego

Objaśnienia do listy rozkazów:

Flagi

Oznaczenia

SYMBOL ZMIANY FLAG

Z

S

CY

P

AC

s,d - rejestr: A,B,C,D,E,H,L,M(HL)

p - para rejestrów: B=BC,D=DE,H=HL,SP

n- wartość 8-bitowa

nn - wartość 16-bitowa

a - adres 16-bitowy

M(a) - komórka pamięci o adresie a

w - warunek skoku

Uwagi:

(1) cykle a/b: b cykli gdy występuje odwołanie do pamięci, a - w przeciwnym przypadku

(2) cykle a/b: b cykli jeżeli warunek w był prawdziwy, a - w przeciwnym przypadku

(3) zmiana flag N/A: A jeżeli p=PSW, N w przeciwnym przypadku

A

↑↓

↑↓

↑↓

↑↓

↑↓

B

↑↓

↑↓

↑↓

↑↓

C

↑↓

D

↑↓

↑↓

0

↑↓

0

E

1

N

↑↓ zmiana zgodnie wynikiem operacji

0 zerowanie

1 ustawienie jedynki

● bez zmiany

Symbole warunków skoku w

NZ

- not zero

(Z=0)

PO

- parity odd

(P=0)

Z

- zero

(Z=1)

PE

- parity even

(P=1)

NC

- no carry

(CY=0)

P

- plus

(S=0)

C

- carry

(CY=1)

M

- minus

(S=1)

2. Lista rozkazów

SKRÓT

MNEMONICZNY

DŁ. W

BAJTACH

OPIS

ZMIANA

FLAG

CYKLE

UWAGI

ARYTMETYCZNE

ADC

s

1

A←A+s+CY

A

4/7

(1)

ACI

n

2

A←A+n+CY

A

7

ADD

s

1

A←A+s

A

4/7

(1)

ADI

n

2

A←A+n

A

7

SBB

s

2

A←A-s+CY

A

4/7

(1)

SBI

n

1

A←A-n+CY

A

7

SUB

s

1

A←A-s

A

4/7

(1)

SUI

n

2

A←A-n

A

7

INR

d

1

dd+1

B

5/7

(1)

INX

p

1

pp+1

N

5

DCR

d

1

dd-1

B

5/10

(1)

DCX

p

1

pp-1

N

5

DAD

p

1

HL←HL+p

C

10

DAA

1

korekcja dziesiętna A

A

4

CMP

s

2

porównanie A z s

A

4/7

(1)

CPI

n

1

porównanie A z n

A

7

LOGICZNE

ANA

s

2

A←A ∧ s

D

4/7

(1)

ANI

n

1

A←A ∧ n

D

7

ORA

s

2

A←A ∨ s

D

4/7

(1)

ORI

n

1

A←A ∨ n

D

7

XRA

s

2

A←A * s

D

4/7

(1)

XRI

n

1

A←A * n

D

7

CMA

1

A← ~A

C

4

RAL

1

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

C

4

RLC

1

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

C

4

RAR

1

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

C

4

RRC

1

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

C

4

CMC

1

CY← ~CY

C

4

STC

1

CY←1

E

4

PRZESUWANIE

MOV

d,s

1

ds

N

5/7

(1)

MVI

d,n

2

dn

N

7/10

(1)

LDA

a

3

A←M(a)

N

13

STA

a

3

M(a)←A

N

13

LDAX

p

1

A←M(p)

N

7

p=B lub D

STAX

p

1

M(p)←A

N

7

LHLD

a

3

L←M(a)

H←M(a+1)

N

16

SHLD

a

3

M(a)←L

M(a+1)←H

N

16

LXI

p,nn

3

pnn

N

10

SPHL

1

SP←HL

N

5

SKRÓT

MNEMONICZNY

DŁ. W

BAJTACH

OPIS

ZMIANA FLAG

CYKLE

UWAGI

SKOKI I POWROTY

JMP

a

3

PC←a

N

10

Jw

a

3

JMP a jeżeli spełniony warunek w

N

10

CALL

a

3

M(SP-1)←PCH

M(SP-2)←PCL

SP←SP-2

PC←a

N

17

Cw

a

3

CALL a jeżeli spełniony warunek w

N

11/17

(2)

RET

1

PCL←M(SP)

PCH←M(SP+1)

SP←SP+2

N

10

Rw

1

RET jeżeli spełniony warunek w

N

5/11

(2)

PCHL

1

PC←HL

N

5

RST

n

1

CALL 8*n

N

11

n=0,1,2,…,7

WEJŚCIE/WYJŚCIE

IN

n

2

A←wej(n)

N

10

OUT

n

2

wyj(n) ←A

N

10

STOS:

PUSH

p

1

M(SP-1) ←pH

M(SP-2) ←pL

SP←SP-2

N

11

p=B, D, H

lub PSW

POP

p

1

pL←M(SP)

pH←M(SP+1)

SP←SP+2

N/A

10

p=B, D, H

lub PSW

(3)

XTHL

1

L↔M(SP)

H↔M(SP+1)

N

18

POZOSTAŁE

DI

1

zablokowanie przerwań

N

4

EI

1

odblokowanie przerwań

N

4

HLT

1

stop

N

7

NOP

1

brak operacji

N

4

3. Kody rozkazów

UPORZĄDKOWANE ALFABETYCZNIE WEDŁUG MNEMONIKÓW ROZKAZÓW

MNEMONIK

KOD

MNEMONIK

KOD

MNEMONIK

KOD

MNEMONIK

KOD

MNEMONIK

KOD

ADC A

8F

DAD B

09

LXI SP,nn

31

MOV L,H

6C

RPE

E8

ADC B

88

DAD D

19

MOV A,B

78

MOV L,M

6E

RPO

E0

ADC C

89

DAD H

29

MOV A,C

79

MOV M,A

77

RST 0

C7

ADC D

8A

DAD SP

39

MOV A,D

7A

MOV M,B

70

RST 1

CF

ADC E

8B

DCR A

3D

MOV A,E

7B

MOV M,C

71

RST 2

D7

ADC H

8C

DCR B

05

MOV A,H

7C

MOV M,D

72

RST 3

DF

ADC L

8D

DCR C

0D

MOV A,L

7D

MOV M,E

73

RST 4

E7

ADC M

8E

DCR D

15

MOV A,M

7E

MOV M,H

74

RST 5

EF

ACI n

CE

DCR E

1D

MOV B,A

47

MOV M,L

75

RST 6

F7

ADD A

87

DCR H

25

MOV B,C

41

MVI A,n

3E

RST 7

FF

ADD B

80

DCR L

2D

MOV B,D

42

MVI B,n

06

SBB A

9F

ADD C

81

DCR M

35

MOV B,E

43

MVI C,n

0E

SBB B

98

ADD D

82

DCX B

0B

MOV B,H

44

MVI D,n

16

SBB C

99

ADD E

83

DCX D

1B

MOV B,L

45

MVI E,n

1E

SBB D

9A

ADD H

84

DCX H

2B

MOV B,M

46

MVI H,n

26

SBB E

9B

ADD L

85

DCX SP

3B

MOV C,A

4F

MVI L,n

2E

SBB H

9C

ADD M

86

DI

F3

MOV C,B

48

MVI M,n

36

SBB L

9D

ADI n

C6

EI

FB

MOV C,D

4A

NOP

00

SBB M

9E

ANA A

A7

HLT

76

MOV C,E

4B

ORA A

B7

SBI n

DE

ANA B

A0

IN n

DB

MOV C,H

4C

ORA B

B0

SHLD a

22

ANA C

A1

INR A

3C

MOV C,L

4D

ORA C

B1

SPAL

F9

ANA D

A2

INR B

04

MOV C,M

4E

ORA D

B2

STA a

32

ANA E

A3

INR C

0C

MOV D,A

57

ORA E

B3

STAX B

02

ANA H

A4

INR D

14

MOV D,B

50

ORA H

B4

STAX D

12

ANA L

A5

INR E

1C

MOV D,C

51

ORA L

B5

STC

37

ANA M

A6

INR H

24

MOV D,E

53

ORA M

B6

SUB A

97

ANI n

E6

INR L

2C

MOV D,H

54

ORI n

F6

SUB B

90

CALL a

CD

INR M

34

MOV D,L

55

OUT n

D3

SUB C

91

CZ a

CC

INX B

03

MOV D,M

56

PCHL

E9

SUB D

92

CNZ a

C4

INX D

13

MOV E,A

5F

POP B

C1

SUB E

93

CP a

F4

INX H

23

MOV E,B

58

POP D

D1

SUB H

94

CM a

FC

INX SP

33

MOV E,C

59

POP H

E1

SUB L

95

CC a

DC

JMP a

C3

MOV E,D

5A

POP PSW

F1

SUB M

96

CNC a

D4

JZ a

CA

MOV E,H

5C

PUSH B

C5

SUI n

D6

CPE a

EC

JNZ a

C2

MOV E,L

5D

PUSH D

D5

XCHG

EB

CPO a

E4

JP a

F2

MOV E,M

5E

PUSH H

E5

XRA A

AF

CMA

2F

JM a

FA

MOV H,A

67

PUSH PSW

F5

XRA B

A8

CMC

3F

JC a

DA

MOV H,B

60

RAL

17

XRA C

A9

CMP A

BF

JNC a

D2

MOV H,C

61

RAR

1F

XRA D

AA

CMP B

B8

JPE a

EA

MOV H,D

62

RLC

07

XRA E

AB

CMP C

B9

JPO a

E2

MOV H,E

63

RRC

0F

XRA H

AC

CMP D

BA

LDA a

3A

MOV H,L

65

RET

C9

XRA L

AD

CMP E

BB

LDAX B

0A

MOV H,M

66

RZ

C8

XRA M

AE

CMP H

BC

LDAX D

1A

MOV L,A

6F

RNZ

C0

XRI n

EE

CMP L

BD

LHLD a

2A

MOV L,B

68

RP

F0

XTHL

E3

CMP M

BE

LXI B,nn

01

MOV L,C

69

RM

F8

CPI n

FE

LXI D,nn

11

MOV L,D

6A

RC

D8

DAA

27

LXI H,nn

21

MOV L,E

6B

RNC

D0

UPORZĄDKOWANE NUMERYCZNIE WEDŁUG ROSNĄCYCH KODÓW ROZKAZÓW

MNEMONIK

KOD

MNEMONIK

KOD

MNEMONIK

KOD

MNEMONIK

KOD

MNEMONIK

KOD

NOP

00

MVI M,n

36

MOV L,H

6C

SBB M

9E

RST 1

CF

LXI B,nn

01

STC

37

MOV L,M

6E

SBB A

9F

RNC

D0

STAX B

02

DAD SP

39

MOV L,A

6F

ANA B

A0

POP D

D1

INX B

03

LDA a

3A

MOV M,B

70

ANA C

A1

JNC a

D2

INR B

04

DCX SP

3B

MOV M,C

71

ANA D

A2

OUT n

D3

DCR B

05

INR A

3C

MOV M,D

72

ANA E

A3

CNC a

D4

MVI B,n

06

DCR A

3D

MOV M,E

73

ANA H

A4

PUSH D

D5

RLC

07

MVI A,n

3E

MOV M,H

74

ANA L

A5

SUI n

D6

DAD B

09

CMC

3F

MOV M,L

75

ANA M

A6

RST 2

D7

LDAX B

0A

MOV B,C

41

HLT

76

ANA A

A7

RC

D8

DCX B

0B

MOV B,D

42

MOV M,A

77

XRA B

A8

JC a

DA

INR C

0C

MOV B,E

43

MOV A,B

78

XRA C

A9

IN n

DB

DCR C

0D

MOV B,H

44

MOV A,C

79

XRA D

AA

CC a

DC

MVI C,n

0E

MOV B,L

45

MOV A,D

7A

XRA E

AB

SBI n

DE

RRC

0F

MOV B,M

46

MOV A,E

7B

XRA H

AC

RST 3

DF

LXI D,nn

11

MOV B,A

47

MOV A,H

7C

XRA L

AD

RPO

E0

STAX D

12

MOV C,B

48

MOV A,L

7D

XRA M

AE

POP H

E1

INX D

13

MOV C,D

4A

MOV A,M

7E

XRA A

AF

JPO a

E2

INR D

14

MOV C,E

4B

ADD B

80

ORA B

B0

XTHL

E3

DCR D

15

MOV C,H

4C

ADD C

81

ORA C

B1

CPO a

E4

MVI D,n

16

MOV C,L

4D

ADD D

82

ORA D

B2

PUSH H

E5

RAL

17

MOV C,M

4E

ADD E

83

ORA E

B3

ANI n

E6

DAD D

19

MOV C,A

4F

ADD H

84

ORA H

B4

RST 4

E7

LDAX D

1A

MOV D,B

50

ADD L

85

ORA L

B5

RPE

E8

DCX D

1B

MOV D,C

51

ADD M

86

ORA M

B6

PCHL

E9

INR E

1C

MOV D,E

53

ADD A

87

ORA A

B7

JPE a

EA

DCR E

1D

MOV D,H

54

ADC B

88

CMP B

B8

XCHG

EB

MVI E,n

1E

MOV D,L

55

ADC C

89

CMP C

B9

CPE a

EC

RAR

1F

MOV D,M

56

ADC D

8A

CMP D

BA

XRI n

EE

LXI H,nn

21

MOV D,A

57

ADC E

8B

CMP E

BB

RST 5

EF

SHLD a

22

MOV E,B

58

ADC H

8C

CMP H

BC

RP

F0

INX H

23

MOV E,C

59

ADC L

8D

CMP L

BD

POP PSW

F1

INR H

24

MOV E,D

5A

ADC M

8E

CMP M

BE

JP a

F2

DCR H

25

MOV E,H

5C

ADC A

8F

CMP A

BF

DI

F3

MVI H,n

26

MOV E,L

5D

SUB B

90

RNZ

C0

CP a

F4

DAA

27

MOV E,M

5E

SUB C

91

POP B

C1

PUSH PSW

F5

DAD H

29

MOV E,A

5F

SUB D

92

JNZ a

C2

ORI n

F6

LHLD a

2A

MOV H,B

60

SUB E

93

JMP a

C3

RST 6

F7

DCX H

2B

MOV H,C

61

SUB H

94

CNZ a

C4

RM

F8

INR L

2C

MOV H,D

62

SUB L

95

PUSH B

C5

SPAL

F9

DCR L

2D

MOV H,E

63

SUB M

96

ADI n

C6

JM a

FA

MVI L,n

2E

MOV H,L

65

SUB A

97

RST 0

C7

EI

FB

CMA

2F

MOV H,M

66

SBB B

98

RZ

C8

CM a

FC

LXI SP,nn

31

MOV H,A

67

SBB C

99

RET

C9

CPI n

FE

STA a

32

MOV L,B

68

SBB D

9A

JZ a

CA

RST 7

FF

INX SP

33

MOV L,C

69

SBB E

9B

CZ a

CC

INR M

34

MOV L,D

6A

SBB H

9C

CALL a

CD

DCR M

35

MOV L,E

6B

SBB L

9D

ACI n

CE

STABELARYZOWANE WEDŁUG KODÓW ROZKAZÓW

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0

NOP

LXI

B

STAX

B

INX

B

INR

B

DCR

B

MVI

B

RLC

DAD

B

LDAX

B

DCX

B

INR

C

DCR

C

MVI

C

RRC

0

1

LXI

D

STAX

D

INX

D

INR

D

DCR

D

MVI

D

RAL

DAD

D

LDAX

D

DCX

D

INR

E

DCR

E

MVI

E

RAR

1

2

LHI

H

SHLD

INX

H

INR

H

DCR

H

MVI

H

DAA

DAD

H

LHLD

DCX

H

INR

L

DCR

L

MVI

L

CMA

2

3

LHI

SP

STA

INH

SP

INR

M

DCR

M

MVI

M

STC

DAD

SP

LDA

DCX

SP

INR

A

DCR

A

MVI

A

CMC

3

4

MOV

B,B

MOV

B,C

MOV

B,D

MOV

B,E

MOV

B,H

MOV

B,L

MOV

B,M

MOV

B,A

MOV

C,B

MOV

C,C

MOV

C,D

MOV

C,E

MOV

C,H

MOV

C,L

MOV

C,M

MOV

C,A

4

5

MOV

D,B

MOV

D,C

MOV

D,D

MOV

D,E

MOV

D,H

MOV

D,L

MOV

D,M

MOV

D,A

MOV

E,B

MOV

E,C

MOV

E,D

MOV

E,E

MOV

E,H

MOV

E,L

MOV

E,M

MOV

E,A

5

6

MOV

H,B

MOV

H,C

MOV

H,D

MOV

H,E

MOV

H,H

MOV

H,L

MOV

H,M

MOV

H,A

MOV

L,B

MOV

L,C

MOV

L,D

MOV

L,E

MOV

L,H

MOV

L,L

MOV

L,M

MOV

L,A

6

7

MOV

M,B

MOV

M,C

MOV

M,D

MOV

M,E

MOV

M,H

MOV

M,L

HLT

MOV

M,A

MOV

A,B

MOV

A,C

MOV

A,D

MOV

A,E

MOV

A,H

MOV

A,L

MOV

A,M

MOV

A,A

7

8

ADD

B

ADD

C

ADD

D

ADD

E

ADD

H

ADD

L

ADD

M

ADD

A

ADC

B

ADC

C

ADC

D

ADC

E

ADC

H

ADC

L

ADC

M

ADC

A

8

9

SUB

B

SUB

C

SUB

D

SUB

E

SUB

H

SUB

L

SUB

M

SUB

A

SBB

B

SBB

C

SBB

D

SBB

E

SBB

H

SBB

L

SBB

M

SBB

A

9

A

ANA

B

ANA

C

ANA

D

ANA

E

ANA

H

ANA

L

ANA

M

ANA

A

XRA

B

XRA

C

XRA

D

XRA

E

XRA

H

XRA

L

XRA

M

XRA

A

A

B

ORA

B

ORA

C

ORA

D

ORA

E

ORA

H

ORA

L

ORA

M

ORA

A

CMP

B

CMP

C

CMP

D

CMP

E

CMP

H

CMP

L

CMP

M

CMP

A

B

C

RNZ

POP

B

JNZ

JMP

CNZ

PUSH

B

ADI

RST

0

RZ

RET

JZ

CZ

CALL

ACI

RST

1

C

D

RNC

POP

D

JNC

OUT

CNC

PUSH

D

SUI

RST

2

RC

JC

IN

CC

SBI

RST

3

D

E

RPO

POP

H

JPO

XTHL

CPO

PUSH

H

ANI

RST

4

RPE

PCHL

JPE

XCHG

CPE

XRI

RST

5

E

F

RP

POP

PSW

JP

DI

CP

PUSH

PSW

ORI

RST

6

RM

SPHL

JM

EI

CM

CPI

RST

7

F

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0 → 7

CY

CY

0 → 7

CY

0 ← 7

CY

0 ← 7