Nov 132013

 
Microprocesador Z80

Microprocesador Z80

Z80 Esquema de pines

Z80 Esquema de pines

El microprocesador Z80 fue muy utilizado en la decada de los 80, haciendo el relevo al 8080. Los ordenadores que lo empezaron a utilizar, entonces de 8 bits, en los que su sistema operativo mas usado era el CP/M fueron los Sinclair ZX80, ZX81 y ZX Spectrum y diversos clones que fueron apareciendo, o toda la gama MSX (MSX1, MSX2, MXS2+ y Turbo-R), Tatung Einstein, la gama Amstrad CPC y Amstrad PCW. Se desarrollaron placas de ampliación con un Z80 para que ordenadores como el Apple II, el Commodore 64 o el BBC Micro usaran CP/M. El Commodore 128 incluía un segundo procesador Z80 para poder usar CP/M. Su utilización se estandarizo a todos los ámbitos, maquinaria industrial, ordenadores, videojuegos, tragaperras …

Muchas placas recreativas, así como las consolas Sega Master System y Sega Game Gear usaban como procesador principal el Z80, y muchas recreativas y consolas como la SNK Neo-Geo y la Sega Mega Drive usan un Z80 como procesador para el sonido. Las Nintendo Game Boy y Game Boy Color utilizan una variante del Z80 fabricada por Sharp, y muchas calculadoras gráficas programables de Texas Instruments como las TI-82, TI-83, TI-85 y TI-86 usan una versión clónica fabricada por NEC. También se ha usado mucho en sistemas mixtos, como muchos terminales serie y otros dispositivos electrónicos, ya que había mucha información sobre su uso y programación.

Hoy en dia  hay versiones de este microprocesador compatible que funcionan hasta 50MHZ (eZ80).

Tabla de Instruciones del microprocesador Z80
InstrucciónCiclos de relojCódigo máquinaBytes
ADC A,(HL)78E1
ADC A,(IX+o)19DD 8E oo3
ADC A,(IY+o)19FD 8E oo3
ADC A,n7CE nn2
ADC A,r488+r1
ADC A,IXp8DD 88+p2
ADC A,IYq8FD 88+q2
ADC HL,BC15ED 4A2
ADC HL,DE15ED 5A2
ADC HL,HL15ED 6A2
ADC HL,SP15ED 7A2
ADD A,(HL)7861
ADD A,(IX+o)19DD 86 oo3
ADD A,(IY+o)19FD 86 oo3
ADD A,n7C6 nn2
ADD A,r480+r1
ADD A,IXp8DD 80+p2
ADD A,IYq8FD 80+q2
ADD HL,BC11091
ADD HL,DE11191
ADD HL,HL11291
ADD HL,SP11391
ADD IX,BC15DD 092
ADD IX,DE15DD 192
ADD IX,IX15DD 292
ADD IX,SP15DD 392
ADD IY,BC15FD 092
ADD IY,DE15FD 192
ADD IY,IY15FD 292
ADD IY,SP15FD 392
AND (HL)7A61
AND (IX+o)19DD A6 oo3
AND (IY+o)19FD A6 oo3
AND n7E6 nn2
AND r4A0+r1
AND IXp8DD A0+p2
AND IYq8FD A0+q2
BIT b,(HL)12CB 46+8*b2
BIT b,(IX+o)20DD CB oo 46+8*b4
BIT b,(IY+o)20FD CB oo 46+8*b4
BIT b,r8CB 40+8*b+r2
CALL nn17CD nn nn3
CALL C,nn17/10DC nn nn3
CALL M,nn17/10FC nn nn3
CALL NC,nn17/10D4 nn nn3
CALL NZ,nn17/10C4 nn nn3
CALL P,nn17/10F4 nn nn3
CALL PE,nn17/10EC nn nn3
CALL PO,nn17/10E4 nn nn3
CALL Z,nn17/10CC nn nn3
CCF43F1
CP (HL)7BE1
CP (IX+o)19DD BE oo3
CP (IY+o)19FD BE oo3
CP n7FE nn2
CP r4B8+r1
CP IXp8DD B8+p2
CP IYq8FD B8+q2
CPD16ED A92
CPDR21/16ED B92
CPI16ED A12
CPIR21/16ED B12
CPL42F1
DAA4271
DEC (HL)11351
DEC (IX+o)23DD 35 oo3
DEC (IY+o)23FD 35 oo3
DEC A43D1
DEC B4051
DEC BC60B1
DEC C40D1
DEC D4151
DEC DE61B1
DEC E41D1
DEC H4251
DEC HL62B1
DEC IX10DD 2B2
DEC IY10FD 2B2
DEC IXp8DD 05+8*p2
DEC IYq8FD 05+8*q2
DEC L42D2
DEC SP63B1
DI4F31
DJNZ o13/810 oo2
EI4FB1
EX (SP),HL19E31
EX (SP),IX23DD E32
EX (SP),IY23FD E32
EX AF,AF’4081
EX DE,HL4EB1
EXX4D91
HALT4761
IM 08ED 462
IM 18ED 562
IM 28ED 5E2
IN A,(C)12ED 782
IN A,(n)11DB nn2
IN B,(C)12ED 402
IN C,(C)12ED 482
IN D,(C)12ED 502
IN E,(C)12ED 582
IN H,(C)12ED 602
IN L,(C)12ED 682
IN F,(C)12ED 703
INC (HL)11341
INC (IX+o)23DD 34 oo3
INC (IY+o)23FD 34 oo3
INC A43C1
INC B4041
INC BC6031
INC C40C1
INC D4141
INC DE6131
INC E41C1
INC H4241
INC HL6231
INC IX10DD 232
INC IY10FD 232
INC IXp8DD 04+8*p2
INC IYq8FD 04+8*q2
INC L42C1
INC SP6331
IND16ED AA2
INDR21/16ED BA2
INI16ED A22
INIR21/16ED B22
JP nn10C3 nn nn3
JP (HL)4E91
JP (IX)8DD E92
JP (IY)8FD E92
JP C,nn10DA nn nn3
JP M,nn10FA nn nn3
JP NC,nn10D2 nn nn3
JP NZ,nn10C2 nn nn3
JP P,nn10F2 nn nn3
JP PE,nn10EA nn nn3
JP PO,nn10E2 nn nn3
JP Z,nn10CA nn nn3
JR o1218 oo2
JR C,o12/738 oo2
JR NC,o12/730 oo2
JR NZ,o12/720 oo2
JR Z,o12/728 oo2
LD (BC),A7021
LD (DE),A7121
LD (HL),n1036 nn2
LD (HL),r770+r1
LD (IX+o),n19DD 36 oo nn4
LD (IX+o),r19DD 70+r oo3
LD (IY+o),n19FD 36 oo nn4
LD (IY+o),r19FD 70+r oo3
LD (nn),A1332 nn nn3
LD (nn),BC20ED 43 nn nn4
LD (nn),DE20ED 53 nn nn4
LD (nn),HL1622 nn nn3
LD (nn),IX20DD 22 nn nn4
LD (nn),IY20FD 22 nn nn4
LD (nn),SP20ED 73 nn nn4
LD A,(BC)70A1
LD A,(DE)71A1
LD A,(HL)77E1
LD A,(IX+o)19DD 7E oo3
LD A,(IY+o)19FD 7E oo3
LD A,(nn)133A nn nn3
LD A,n73E nn2
LD A,r478+r1
LD A,IXp8DD 78+p2
LD A,IYq8FD 78+q2
LD A,I9ED 572
LD A,R9ED 5F2
LD B,(HL)7461
LD B,(IX+o)19DD 46 oo3
LD B,(IY+o)19FD 46 oo3
LD B,n706 nn2
LD B,r440+r1
LD B,IXp8DD 40+p2
LD B,IYq8FD 40+q2
LD BC,(nn)20ED 4B nn nn4
LD BC,nn1001 nn nn3
LD C,(HL)74E1
LD C,(IX+o)19DD 4E oo3
LD C,(IY+o)19FD 4E oo3
LD C,n70E nn2
LD C,r448+r1
LD C,IXp8DD 48+p2
LD C,IYq8FD 48+q2
LD D,(HL)7561
LD D,(IX+o)19DD 56 oo3
LD D,(IY+o)19FD 56 oo3
LD D,n716 nn2
LD D,r450+r1
LD D,IXp8DD 50+p2
LD D,IYq8FD 50+q2
LD DE,(nn)20ED 5B nn nn4
LD DE,nn1011 nn nn3
LD E,(HL)75E1
LD E,(IX+o)19DD 5E oo3
LD E,(IY+o)19FD 5E oo3
LD E,n71E nn2
LD E,r458+r1
LD E,IXp8DD 58+p2
LD E,IYq8FD 58+q2
LD H,(HL)7661
LD H,(IX+o)19DD 66 oo3
LD H,(IY+o)19FD 66 oo3
LD H,n726 nn2
LD H,r460+r1
LD HL,(nn)162A nn nn5
LD HL,nn1021 nn nn3
LD I,A9ED 472
LD IX,(nn)20DD 2A nn nn4
LD IX,nn14DD 21 nn nn4
LD IXh,n11DD 26 nn2
LD IXh,p8DD 60+p2
LD IXl,n11DD 2E nn2
LD IXl,p8DD 68+p2
LD IY,(nn)20FD 2A nn nn4
LD IY,nn14FD 21 nn nn4
LD IYh,n11FD 26 nn2
LD IYh,q8FD 60+q2
LD IYl,n11FD 2E nn2
LD IYl,q8FD 68+q2
LD L,(HL)76E1
LD L,(IX+o)19DD 6E oo3
LD L,(IY+o)19FD 6E oo3
LD L,n72E nn2
LD L,r468+r1
LD R,A9ED 4F2
LD SP,(nn)20ED 7B nn nn4
LD SP,HL6F91
LD SP,IX10DD F92
LD SP,IY10FD F92
LD SP,nn1031 nn nn3
LDD16ED A82
LDDR21/16ED B82
LDI16ED A02
LDIR21/16ED B02
MULUB A,rED C1+8*r2
MULUW HL,BCED C32
MULUW HL,SPED F32
NEG8ED 442
NOP4001
OR (HL)7B61
OR (IX+o)19DD B6 oo3
OR (IY+o)19FD B6 oo3
OR n7F6 nn2
OR r4B0+r1
OR IXp8DD B0+p2
OR IYq8FD B0+q2
OTDR21/16ED BB2
OTIR21/16ED B32
OUT (C),A12ED 792
OUT (C),B12ED 412
OUT (C),C12ED 492
OUT (C),D12ED 512
OUT (C),E12ED 592
OUT (C),H12ED 612
OUT (C),L12ED 692
OUT (n),A11D3 nn2
OUTD16ED AB2
OUTI16ED A32
POP AF10F11
POP BC10C11
POP DE10D11
POP HL10E11
POP IX14DD E12
POP IY14FD E12
PUSH AF11F51
PUSH BC11C51
PUSH DE11D51
PUSH HL11E51
PUSH IX15DD E52
PUSH IY15FD E52
RES b,(HL)15CB 86+8*b2
RES b,(IX+o)23DD CB oo 86+8*b4
RES b,(IY+o)23FD CB oo 86+8*b4
RES b,r8CB 80+8*b+r2
RET10C91
RET C11/5D81
RET M11/5F81
RET NC11/5D01
RET NZ11/5C01
RET P11/5F01
RET PE11/5E81
RET PO11/5E01
RET Z11/5C81
RETI14ED 4D2
RETN14ED 452
RL (HL)15CB 162
RL (IX+o)23DD CB oo 164
RL (IY+o)23FD CB oo 164
RL r8CB 10+r2
RLA4171
RLC (HL)15CB 062
RLC (IX+o)23DD CB oo 064
RLC (IY+o)23FD CB oo 064
RLC r8CB 00+r2
RLCA4071
RLD18ED 6F2
RR (HL)15CB 1E2
RR (IX+o)23DD CB oo 1E4
RR (IY+o)23FD CB oo 1E4
RR r8CB 18+r2
RRA41F1
RRC (HL)15CB 0E2
RRC (IX+o)23DD CB oo 0E4
RRC (IY+o)23FD CB oo 0E4
RRC r8CB 08+r2
RRCA40F1
RRD18ED 672
RST 011C71
RST 8H11CF1
RST 10H11D71
RST 18H11DF1
RST 20H11E71
RST 28H11EF1
RST 30H11F71
RST 38H11FF1
SBC A,(HL)79E1
SBC A,(IX+o)19DD 9E oo3
SBC A,(IY+o)19FD 9E oo3
SBC A,n7DE nn2
SBC A,r498+r1
SBC A,IXp8DD 98+p2
SBC A,IYq8FD 98+q2
SBC HL,BC15ED 422
SBC HL,DE15ED 522
SBC HL,HL15ED 622
SBC HL,SP15ED 722
SCF4371
SET b,(HL)15CB C6+8*b2
SET b,(IX+o)23DD CB oo C6+8*b4
SET b,(IY+o)23FD CB oo C6+8*b4
SET b,r8CB C0+8*b+r2
SLA (HL)15CB 262
SLA (IX+o)23DD CB oo 264
SLA (IY+o)23FD CB oo 264
SLA r8CB 20+r2
SRA (HL)15CB 2E2
SRA (IX+o)23DD CB oo 2E4
SRA (IY+o)23FD CB oo 2E4
SRA r8CB 28+r2
SRL (HL)15CB 3E2
SRL (IX+o)23DD CB oo 3E4
SRL (IY+o)23FD CB oo 3E4
SRL r8CB 38+r2
SUB (HL)7961
SUB (IX+o)19DD 96 oo3
SUB (IY+o)19FD 96 oo3
SUB n7D6 nn2
SUB r490+r1
SUB IXp8DD 90+p2
SUB IYq8FD 90+q2
XOR (HL)7AE1
XOR (IX+o)19DD AE oo3
XOR (IY+o)19FD AE oo3
XOR n7EE nn2
XOR r4A8+r1
XOR IXp8DD A8+p2
XOR IYq8FD A8+q2

b” valor de 3 bits.

n” valor de 8 bits.

nn” valor de 16-bits.

o” valor de 8 bits offset.

r” valor de los registros A, B, C, D, E, H, L or (HL).

Hay que añadir los siguientes valores al último byte del código de operación:

RegistroValor de los bits del registro
A7
B0
C1
D2
E3
H4
L5
(HL)6

p, IXp Indica la parte alta o baja del registro IX: IXh o IXl. Hay que añadir el valor siguiente al último byte del código de operación:

RegistroValor de los bits del registro
A7
B0
C1
D2
E3
IXh4
IXl5

q, IYq Indica la parte alta o baja del registro IY: IYh o IYl. Hay que añadir el valor siguiente al último byte del código de operación:

RegistroValor de los bits del registro
A7
B0
C1
D2
E3
IYh4
IYl5


Contenido relacionado




 Deja un Comentario

(Requerido)

(Requerido)