Príloha E: Strojový kód procesora Z-80

 

      Inštrukcie mikroprocesora Z-80 môžu byť jednobytové až štvorbytové a do dĺžky inštrukcie sa počíta tiež dĺžka operandu. V kódovaní inštrukcií sa používajú 4 prefixy (prvý byte inštrukcie). Tvar inštrukcie pre prefix CBh = 203d a Edh = 237d je uvedený v tabuľke. Teda číslo 7Ah vyjadruje inštrukciu LD A,D. Ak však toto číslo nasleduje po čísle CBh (v pamäti sú uložené po sebe číslo CBh a 7Ah), potom vyjadruje inštrukciu BIT 7,D. Po čísle Edh (v pamäti sú po sebe uložené čísla Edh a 7Ah) vyjadruje inštrukciu ADC HL, SP.

      Prefix DDh = 221d určuje, že inštrukcia pracuje s registrom IX, prefix FDh = 253d určuje prácu s registrom IY. Teda číslo 23h = 35d vyjadruje inštrukciu INC HL. Ak však toto číslo nasleduje po prefixe DDh, potom vyjadruje inštrukciu INC IX. Obdobne úvahu platí i pre prefix inštrukcie IY. Prefix DDh alebo FDh môže byť tiež pred prefixom CBh alebo Edh a inštrukcia opäť pracuje s registrami IX alebo IY.

      V tabuľke sú zoradené inštrukcie mikroprocesora Z-80 vzostupne podľa ich kódov. V stĺpci 'dekad' je uvedený dekadický kód inštrukcie, v stĺpci 'hexa' šestnástkový kód inštrukcie, v stĺpci 'inštrukcia' je uvedený mnemonický kód jednobytovej inštrukcie a v stĺpcoch  'prefix CBh' a 'prefix EDh' mnemonických kód týchto inštrukcií. Ďalej používame v tabuľke písmeno N pre označenie jednobytového operandu a číslo NN pre označenie dvojbytového operandu.

 

dekad

hexa

inštrukcia

prefix CBh

prefix EDh

0

00

NOP

RLC B

 

1

01

LD BC, NN

RLC C

 

2

02

LD (BC),A

RLC D

 

3

03

INC BC

RLC E

 

4

04

INC B

RLC H

 

5

05

DEC B

RLC L

 

6

06

LD B,N

RLC (HL)

 

7

07

RLCA

RLC A

 

8

08

EX AF, AF'

RRC B

 

 

 

dekad

hexa

inštrukcia

prefix CBh

prefix EDh

9

09

ADD HL,BC

RRC C

 

10

0A

LD A,(BC)

RRC D

 

11

0B

DEC BC

RRC E

 

12

0C

INC C

RRC H

 

13

0D

DEC C

RRC I

 

14

0E

LD C,N

RRC (HL)

 

15

0F

RRCA

RRC A

 

16

10

DJNZ N

RL B

 

17

11

LD DE,NN

RL C

 

18

12

LD (DE),A

RL D

 

19

13

INC DE

RL E

 

20

14

INC D

RL H

 

21

15

DEC D

RL L

 

22

16

LD D,N

RL (HL)

 

23

17

RLA

RL A

 

24

18

JR N

RR B

 

25

19

ADD HL,DE

RR C

 

26

1A

LD A,(DE)

RR D

 

27

1B

DEC DE

RR E

 

28

1C

INC E

RR H

 

29

1D

DEC E

RR L

 

30

1E

LD E,N

RR (HL)

 

31

1F

RRA

RR A

 

32

20

JR NZ,N

SLA B

 

33

21

LD HL,NN

SLA C

 

34

22

LD (NN),HL

SLA D

 

35

23

INC HL

SLA E

 

36

24

INC H

SLA H

 

 

 

dekad

hexa

inštrukcia

prefix CBh

prefix EDh

37

25

DEC H

SLA L

 

38

26

LD H,N

SLA (HL)

 

39

27

DAA

SLA A

 

40

28

JR Z,N

SRA B

 

41

29

ADD HL,HL

SRA C

 

42

2A

LD HL,(NN)

SRA D

 

43

2B

DEC HL

SRA E

 

44

2C

INC L

SRA H

 

45

2D

DEC L

SRA L

 

46

2E

LD L,N

SRA (HL)

 

47

2F

CPL

SRA A

 

48

30

JR NC,N

 

 

49

31

LD SP,NN

 

 

50

32

LD (NN),A

 

 

51

33

INC SP

 

 

52

34

INC (HL)

 

 

53

35

DEC (HL)

 

 

54

36

LD (HL),N

 

 

55

37

SCF

 

 

56

38

JR C,N

 

 

57

39

ADD HL,SP

 

 

58

3A

LD A,(NN)

 

 

59

3B

DEC SP

 

 

60

3C

INC A

 

 

61

3D

DEC A

 

 

62

3E

LD A,N

 

 

63

3F

CCF

 

 

64

40

LD B,B

BIT 0,B

IN B,(C)

 

 

dekad

hexa

inštrukcia

prefix CBh

prefix EDh

65

41

LD B,C

BIT 0,C

OUT (C),B

66

42

LD B,D

BIT 0,D

SBC HL,BC

67

43

LD B,E

BIT 0,E

LD (NN),BC

68

44

LD B,H

BIT 0,H

NEG

69

45

LD B,L

BIT 0,L

RETN

70

46

LD B,(HL)

BIT 0,(HL)

IM 0

71

47

LD B,A

BIT 0,A

LD I,A

72

48

LD C,B

BIT 1,B

IN C,(C)

73

49

LD C,C

BIT 1,C

OUT (C),C

74

4A

LD C,D

BIT 1,D

ADD HL,BC

75

4B

LD C,E

BIT 1,E

LD BC,(NN)

76

4C

LD C,H

BIT 1,H

 

77

4D

LD C,L

BIT 1,L

RETI

78

4E

LD C,(HL)

BIT 1,(HL)

 

79

4F

LD C,A

BIT 1,A

LD R,A

80

50

LD D,B

BIT 2,B

IN D,(C)

81

51

LD D,C

BIT 2,C

OUT (C),D

82

52

LD D,D

BIT 2,D

SBC HL,DE

83

53

LD D,E

BIT 2,E

LD (NN),DE

84

54

LD D,H

BIT 2,H

 

85

55

LD D,L

BIT 2,L

 

86

56

LD D,(HL)

BIT 2,(HL)

IM 1

87

57

LD D,A

BIT 2,A

LD A,I

88

58

LD E,B

BIT 3,B

IN E,(C)

89

59

LD E,C

BIT 3,C

OUT (C),E

90

5A

LD E,D

BIT 3,D

ADC HL,DE

91

5B

LD E,E

BIT 3,E

LD DE,(NN)

92

5C

LD E,H

BIT 3,H

 

 

 

dekad

hexa

inštrukcia

prefix CBh

prefix EDh

93

5D

LD E,L

BIT 3,L

 

94

5E

LD E,(HL)

BIT 3,(HL)

IM 2

95

5F

LD E,A

BIT 3,A

LD A,R

96

60

LD H,B

BIT 4,B

IN H,(C)

97

61

LD H,C

BIT 4,C

OUT (C),H

98

62

LD H,D

BIT 4,D

SBC HL,HL

99

63

LD H,E

BIT 4,E

LD (NN),HL

100

64

LD H,H

BIT 4,H

 

101

65

LD H,L

BIT 4,L

 

102

66

LD H,(HL)

BIT 4,(HL)

 

103

67

LD H,A

BIT 4,A

RRD

104

68

LD L,B

BIT 5,B

IN L,(C)

105

69

LD L,C

BIT 5,C

OUT (C),L

106

6A

LD L,D

BIT 5,D

ADC HL,HL

107

6B

LD L,E

BIT 5,E

LD (HL),NN

108

6C

LD L,H

BIT 5,H

 

109

6D

LD L,L

BIT 5,L

 

110

6E

LD L,(HL)

BIT 5,(HL)

 

111

6F

LD L,A

BIT 5,A

RLD

112

70

LD (HL),B

BIT 6,B

IN R,(C)

113

71

LD (HL),C

BIT 6,C

 

114

72

LD (HL),D

BIT 6,D

SBC HL,SP

115

73

LD (HL),E

BIT 6,E

LD (NN),SP

116

74

LD (HL),H

BIT 6,H

 

117

75

LD (HL),L

BIT 6,L

 

118

76

HALT

BIT 6,(HL)

 

119

77

LD (HL),A

BIT 6,A

 

120

78

LD A,B

BIT 7,B

IN A,(C)

 

dekad

hexa

inštrukcia

prefix CBh

prefix EDh

121

79

LD A,C

BIT 7,C

OUT (C),A

122

7A

LD A,D

BIT 7,D

ADC HL,SP

123

7B

LD A,E

BIT 7,E

LD SP,(NN)

124

7C

LD A,H

BIT 7,H

 

125

7D

LD A,L

BIT 7,L

 

126

7E

LD A,(HL)

BIT 7,(HL)

 

127

7F

LD A,A

BIT 7,A

 

128

80

ADD A,B

RES 0,B

 

129

81

ADD A,C

RES 0,C

 

130

82

ADD A,D

RES 0,D

 

131

83

ADD A,E

RES 0,E

 

132

84

ADD A,H

RES 0,H

 

133

85

ADD A,L

RES 0,L

 

134

86

ADD A,(HL)

RES 0,(HL)

 

135

87

ADD A,A

RES 0,A

 

136

88

ADC A,B

RES 1,B

 

137

89

ADC A,C

RES 1,C

 

138

8A

ADC A,D

RES 1,D

 

139

8B

ADC A,E

RES 1,E

 

140

8C

ADC A,H

RES 1,H

 

141

8D

ADC A,L

RES 1,L

 

142

8E

ADC A,(HL)

RES 1,(HL)

 

143

8F

ADC A,A

RES 1,A

 

144

90

SUB B

RES 2,B

 

145

91

SUB C

RES 2,C

 

146

92

SUB D

RES 2,D

 

147

93

SUB E

RES 2,E

 

148

94

SUB H

RES 2,H

 

 

 

dekad

hexa

inštrukcia

prefix CBh

prefix EDh

149

95

SUB L

RES 2,L

 

150

96

SUB (HL)

RES 2,(HL)

 

151

97

SUB A

RES 2,A

 

152

98

SBC A,B

RES 3,B

 

153

99

SBC A,C

RES 3,C

 

154

9A

SBC A,D

RES 3,D

 

155

9B

SBC A,E

RES 3,E

 

156

9C

SBC A,H

RES 3,H

 

157

9D

SBC A,L

RES 3,L

 

158

9E

SBC A,(HL)

RES 3,(HL)

 

159

9F

SBC A,A

RES 3,A

 

160

A0

AND B

RES 4,B

LDI

161

A1

AND C

RES 4,C

CPI

162

A2

AND D

RES 4,D

INI

163

A3

AND E

RES 4,E

OUTI

164

A4

AND H

RES 4,H

 

165

A5

AND L

RES 4,L

 

166

A6

AND (HL)

RES 4,(HL)

 

167

A7

AND A

RES 4,A

 

168

A8

XOR B

RES 5,B

LDD

169

A9

XOR C

RES 5,C

CPD

170

AA

XOR D

RES 5,D

IND

171

AB

XOR E

RES 5,E

OUTD

172

AC

XOR H

RES 5,H

 

173

AD

XOR L

RES 5,L

 

174

AE

XOR (HL)

RES 5,(HL)

 

175

AF

XOR A

RES 5,A

 

176

B0

OR B

RES 6,B

LDIR

 

dekad

hexa

inštrukcia

prefix CBh

prefix EDh

177

B1

OR C

RES 6,C

CPIR

178

B2

OR D

RES 6,D

INIR

179

B3

OR E

RES 6,E

OTIR

180

B4

OR H

RES 6,H

 

181

B5

OR L

RES 6,L

 

182

B6

OR (HL)

RES 6,(HL)

 

183

B7

OR A

RES 6,A

 

184

B8

CP B

RES 7,B

LDDR

185

B9

CP C

RES 7,C

CPDR

186

BA

CP D

RES 7,D

INDR

187

BB

CP E

RES 7,E

OTDR

188

BC

CP H

RES 7,H

 

189

BD

CP L

RES 7,L

 

190

BE

CP (HL)

RES 7,(HL)

 

191

BF

CP A

RES 7,A

 

192

C0

RET NZ

SET 0,B

 

193

C1

POP BC

SET 0,C

 

194

C2

JP NZ,NN

SET 0,D

 

195

C3

JP NN

SET 0,E

 

196

C4

CALL NZ,NN

SET 0,H

 

197

C5

PUSH BC

SET 0,L

 

198

C6

ADD A,N

SET 0,(HL)

 

199

C7

RST 0

SET 0,A

 

200

C8

RET Z

SET 1,B

 

201

C9

RET  

SET 1,C

 

202

CA

JP Z,NN

SET 1,D

 

203

CB

PREFIX

SET 1,E

 

204

CC

CALL Z,NN

SET 1,H

 

 

dekad

hexa

inštrukcia

prefix CBh

prefix EDh

205

CD

CALL NN

SET 1,L

 

206

CE

ADC A,N

SET 1,(HL)

 

207

CF

RST 8

SET 1,A

 

208

D0

RET NC

SET 2,B

 

209

D1

POP DE

SET 2,C

 

210

D2

JP NC,NN

SET 2,D

 

211

D3

OUT (N),A

SET 2,E

 

212

D4

CALL NC,NN

SET 2,H

 

213

D5

PUSH DE

SET 2,L

 

214

D6

SUB N

SET 2,(HL)

 

215

D7

RST 10h

SET 2,A

 

216

D8

RET C

SET 3,B

 

217

D9

EXX

SET 3,C

 

218

DA

JP C,NN

SET 3,D

 

219

DB

IN A,(N)

SET 3,E

 

220

DC

CALL C,NN

SET 3,H

 

221

DD

PREFIX IX

SET 3,L

 

222

DE

SBC A,N

SET 3,(HL)

 

223

DF

RST 18h

SET 3,A

 

224

E0

RET PO

SET 4,B

 

225

E1

POP HL

SET 4,C

 

226

E2

JP PO,NN

SET 4,D

 

227

E3

EX (SP),HL

SET 4,E

 

228

E4

CALL PO,NN

SET 4,H

 

229

E5

PUSH HL

SET 4,L

 

230

E6

AND N

SET 4,(HL)

 

231

E7

RST 20h

SET 4,A

 

232

E8

RET PE

SET 5,B

 

 

 

dekad

hexa

inštrukcia

prefix CBh

prefix EDh

233

E9

JP (HL)

SET 5,C

 

234

EA

JP PE,NN

SET 5,D

 

235

EB

EX DE,HL

SET 5,E

 

236

EC

CALL PE,NN

SET 5,H

 

237

ED

PREFIX

SET 5,L

 

238

EE

XOR N

SET 5,(HL)

 

239

EF

RST 28h

SET 5,A

 

240

F0

RET P

SET 6,B

 

241

F1

POP AF

SET 6,C

 

242

F2

JP P,NN

SET 6,D

 

243

F3

DI

SET 6,E

 

244

F4

CALL P,NN

SET 6,H

 

245

F5

PUSH AF

SET 6,L

 

246

F6

OR N

SET 6,(HL)

 

247

F7

RST 30h

SET 6,A

 

248

F8

RET M

SET 7,B

 

249

F9

LD SP,HL

SET 7,C

 

250

FA

JP M,NN

SET 7,D

 

251

FB

EI

SET 7,E

 

252

FC

CALL M,NN

SET 7,H

 

253

FD

PREFIX IY

SET 7,L

 

254

FE

CP N

SET 7,(HL)

 

255

FF

RST 38h

SET 7,A