Les articles Amstrad >Les produits Amstrad > Les CPC > Programmation > Assembleur > 5 : Jeu d'instruction du Z80 [fr-en] (Amstradeus)

5 : Jeu d'instruction du Z80 [fr-en] (Amstradeus)

Modes d'Adressage



RR Registre - Registre
Im = Immédiat
IDX = Indexé
D = Direct
In = Indirect

r ou r' est un registre 8 bits
n est un nombre de 8 bits
nn est un nombre 16 bits
dd est BC, DE, HL ou SP
qq est AF, BC, DE ou HL.
pp est BC, DE, IX ou SP
rr est HC, DE, IX ou SP.

Flags


C = Carry / flag de report
Z = Flag zéro
S = Flag signe
P/V = Flag parité ou dépassement
H = Flag demi-carry
N = Flag addition/soustraction

Modification des flags


?Flag fixé en fonction du résultat de l'opération 0 Flag annulé
1 Flag mis
* Flag non affecté
- Modification du flag imprévisible
V Flag mis si dépassement (overflow)
P Flag mis si parité
F Le flag P/V reçoit le contenu du flip-flop d'interruption (IFF)

Symbolisation

R <- n : met le nombre n dans le registre r.
DE <-> HL : échange les contenus de DE et HL.

GROUPE LOAD 8 BITS

MnémoniqueOpération
Symbolique
Nbre
d’octets
Nbre de cyclesMode d’
adressage
Flags affectés
C Z P/V S N H
LD r,r’
LD r,n
LD r,(HL)
LD r,(IX+d)
LD r,(IY+d)
LD (HL),r
LD (IX+d),r
LD (IY+d),r
LD (HL),n
LD (IX+d),n
LD (IY+d),n
LD A,(BC)
LD A,(DE)
LD A,(nn)
LD (BC),A
LD (DE),A
LD (nn),A
LD A,I
LD A,R
LD I,A
LD R,A
r <- r’
r <- n
r <-(HL)
r <-(IX+d)
r <-(IY+d)
(HL)<-r
(IX+d)<-r
(IY+d)<-r
(HL)<-n
(IX+d)<-n
(IY+d)<-n
A <- (BC)
A <- (DE)
A <- (nn)
(BC) <- A
(DE) <- A
(nn) <- A
A <- I
A <- R
I <- A
R <- A
1
2
1
3
3
1
3
3
2
4
4
1
1
3
1
1
3
2
2
2
2
1
2
2
5
5
2
5
5
3
5
5
2
2
4
2
2
4
2
2
2
2
RR
Im
In
IDX
IDX
In
IDX
IDX
In
IDX
IDX
In
In
D
IN
IN
D
RR
RR
RR
RR
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* ? F... ? 0 0
* ? F... ? 0 0
* * *... * * *
* * *... * * *

 

GROUPE LOAD 16 BITS

MnémoniqueOpération
Symbolique
Nbre
d’octets
Nbre de cyclesMode d’
adressage
Flags affectés
C Z P/V S N H
LD dd,nn
LD IX,nn
LD IY,nn
LD HL,(nn)

LD dd,(nn)

LD IX,(nn)

LD IY,(nn)

LD (nn),HL

LD (nn),dd

LD (nn),IX

LD (nn),IY
dd <- nn
IX <- nn
IY <- nn
H <- (nn+1)
L <- (nn)
dd <- (nn+1)
dd <- (nn)
IX <- (nn+1)
IX <- (nn)
IY <- (nn+1)
IY <- (nn)
(nn+1) <- H
(nn)<- L
(nn+1) <- dd
(nn) <- dd
(nn+1) <- IX
(nn) <- IX
(nn+1) <- IY
(nn) <- IY
3
4
4
3

4

4

4

3

4

4

4

3
4
4
5

6

6

6

5

6

6

6

Im
Im
Im
D

D

D

D

D

D

D

D

* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
LD SP,HL
LD SP,IX
LD SP,IY
PUSH qq

PUSH IX

PUSH IY

POP qq

POP IX

POP IY

SP <- HL
SP <- IX
SP <- IY
(SP-1) <- qq
(SP-2) <- qq
(SP-1) <- IX
(SP-2) <- IX
(SP-1) <- IY
(SP-2) <- IY
qq <- (SP)
qq <- (SP+1)
IX <- (SP)
IX <- (SP+1)
IY <- (SP)
IY <- (SP+1)
1
2
2
1

2

2

1

2

2

1
2
2
3

4

4

3

4

4

RR
RR
RR
Im

Im

Im

Im

Im

Im

* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *

GROUPE ECHANGE – GROUPE TRANSFERT – RECHERCHE DE BLOC 

MnémoniqueOpération
Symbolique
Nbre
d’octets
Nbre de cyclesMode d’
adressage
Flags affectés
C Z P/V S N H
EX DE,HL
EX AF,AF'
EXX


EX (SP),HL

EX (SP),IX

EX (SP),IY

LDI



LDIR




LDD

DE <-> HL
AF <-> AF'
BC <-> BC'
DE <-> DE'
HL <-> HL'
H <-> (SP+1)
L <-> (SP)
IX <-> (SP+1)
IX <-> (SP)
IY <-> (SP+1)
IY <-> (SP)
(DE) <- (HL)
DE <- DE+1
HL <- HL+1
BC <- BC-1
(DE) <- (HL)
DE <- DE+1
HL <- HL+1
BC <- BC-1
JUSQUE BC=0
(DE) <- (HL)
DE <- DE-1
HL <- HL-1
BC <- BC-1
1
1
1


1

2

2

2



2




2



1
1
1


5

6

6

4



5




4
RR
RR
RR


RR

RR

RR

In



In




In
* * *... * * *
* * *... * * *
* * *... * * *


* * *... * * *

* * *... * * *

* * *... * * *

* * ?... * 0 0



* * 0... * 0 0




* * ?... * 0 0
LDDR




CPI


CPIR




CPD


CPDR
(DE) <- (HL)
DE <- DE-1
HL <- HL-1
BC <- BC-1
JUSQUE BC=0
A-(HL)
HL <- HL+1
BC <- BC-1
A-(HL)
HL <- HL+1
BC <- BC-1
JUSQUE A=HL
OU BC=0
A-(HL)
HL <- HL-1
BC <- BC-1
A-(HL)
HL <- HL-1
BC <- BC-1
JUSQUEA=(HL)
OU BC=0
2




2


2




2


2
5




4


5




4


5
In




In


In




In


In
* * 0... * 0 0




* ? ?... * ? ?


* ? ?... * ? ?




* ? ?... * ? ?


* ? ?... * ? ?


 

GROUPE ARITHMETIQUE ET LOGIQUE 8 BITS

MnémoniqueOpération
Symbolique
Nbre
d’octets
Nbre de cyclesMode d’
adressage
Flags affectés
C Z P/V S N H
ADD A,r
ADD A,b
ADD A,(HL)
ADD A,(IX+d)
ADD A,(IY+d)
ADC A,s
SUB A,s
SBC A,s
AND s
OR s
XOR s
CP s
INC
INC (HL)
INC (IX+d)
INC (IY+d)
DEC d
A <- A+r
A <- A+n
A <- A+(HL)
A <- A+(IX+d)
A <- A+(IY+d)
A <- A+s+CY
A <- A-s
A <- A-s-CY
A <- AETs
A <- AOUs
A <- AOUEXs
A-s
r-r+1
(HL) <- (HL)+1
(IX+d) <- (IX+d)+1
(IY+d) <- (IY+d)+1
d <- d-1
1
2
1
3
3







1
1
3
3
1
2
2
5
5







1
3
6
6
Im
Im
In
IDX
IDX
Im
Im
Im
Im
Im
Im
Im
Im
In
IDX
IDX
Im
? ? V... ? 0 ?
? ? V... ? 0 ?
? ? V... ? 0 ?
? ? V... ? 0 ?
? ? V... ? 0 ?
? ? V... ? 0 ?
? ? V... ? 1 ?
? ? V... ? 1 ?
0 ? P... ? 0 1
0 ? P... ? 0 1
0 ? P... ? 0 1
? ? V... ? 1 ?
* ? V... ? 0 ?
* ? V... ? 0 ?
* ? V... ? 0 ?
* ? V... ? 0 ?
* ? V... ? 1 1

 

GROUPE ARITHMETIQUE GENERALE ET CONTROLE UNITE CENTRALE

MnémoniqueOpération
Symbolique
Nbre
d’octets
Nbre de cyclesMode d’
adressage
Flags affectés
C Z P/V S N H
DAA
convertit
A en BCD
après
addition
ou sous-
traction
sur opér.
BCD

CPL
NEG
CCF
SCF
NOP
HALT
DI
EI
IMO


IM1

IM2









_
A <- A
A <- 0 - A
CY <- CY
CY <- 1
Pas d'opération
CPU halte
IFF <- 0
IFF <- 1
Mettre
Interruption
Mode 0
Interruption
Mode 1
Interruption
Mode 2
1









1
2
1
1
1
1
1
1
2


2

2
1









1
2
1
1
1
1
1
1
2


2

2
Im









Im
Im
Im
Im
Im
Im
Im
Im
Im

Im

Im
? ? P... ? * *









* * *... * 1 1
? ? V ... ? 1 ?
? * *... * 0 *
1 * *... ? 0 0
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *


* * *... * * *

* * *... * * *



MnémoniqueOpération
Symbolique
Nbre
d’octets
Nbre de cyclesMode d’
adressage
Flags affectés
C Z P/V S N H
ADD HL,dd
ADC HL,dd
SBC HL,dd
ADD IX,pp
ADD IY,rr
INC dd
INC IX
INC IY
DEC dd
DEC IX
DEC IY
HL <- HL+dd
HL <- HL+dd+CY
HL <- HL-dd-CY
IX <- IX+pp
IY <- IY+rr
dd <- dd+1
IX <- IX+1
IY <- IY+1
dd <- dd-1
IX <- IX-1
IY <- IY-1
1
2
2
2
2
1
2
2
1
2
2
3
4
4
4
4
1
2
2
1
2
2
Im
Im
Im
Im
Im
Im
Im
Im
Im
Im
Im
? * *... * 0 -
? ? V ... ? 0 -
? ? V ... ? 1 *
? * *... * 0 -
? * *... * 0 -
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *

 

GROUPE ROTATION ET DECALAGE

MnémoniqueOpération
Symbolique
Nbre
d’octets
Nbre de cyclesMode d’
adressage
Flags affectés
C Z P/V S N H
RLCA

RLA

RRCA

RRA

RLCr
RLC(HL)
RLC(IX+d)
RLC(IY+d)

RL s

RRC s

RR s

SLA s

SRA s

SRL s

RLD



RRD
1

1

1

1

2
2
4
4

-

-

-

-

-

-

2



2
1

1

1

1

2
4
6
6

-

-

-

-

-

-

5



5
Im

Im

Im

Im

Im
Im
Im
Im

Im

Im

Im

Im

Im

Im

Im



Im
? * *... * 0 0

? * *... * 0 0

? * *... * 0 0

? * *... * 0 0

? ? P ... ? 0 0
? ? P ... ? 0 0
? ? P ... ? 0 0
? ? P ... ? 0 0

? ? P ... ? 0 0

? ? P ... ? 0 0

? ? P ... ? 0 0

? ? P ... ? 0 0

? ? P ... ? 0 0

? ? P ... ? 0 0

* ? P ... ? 0 0



* ? P ... ? 0 0

 

GROUPE MISE, ANNULATION ET TEST DE BIT 

MnémoniqueOpération
Symbolique
Nbre
d’octets
Nbre de cyclesMode d’
adressage
Flags affectés
C Z P/V S N H
Bit 6,r
Bit 6,(HL)
Bit 6,(IY+d)
BIT 6,(IY+d)
SET 6,r
SET 6,(HL)
SET 6,(IX+d)
SET 6,(IY+d)
SET 6,s
Z <- r
Z <- (HL)
Z <- (IY+d)
Z <- (IY+d)
r <- 1
(HL) <- 1
(IX+d) <- 1
(IY+d) <- 1
s <- 0
2
2
4
4
2
2
4
4
-
2
3
5
5
2
4
6
6
-
RR
In
IDX
IDX
RR
In
IDX
IDX
RR
* ? -... - 0 1
* ? -... - 0 1
* ? -... - 0 1
* ? - ... - 0 1
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *

 

GROUPE DE JUMP (SAUT) 

MnémoniqueOpération
Symbolique
Nbre
d’octets
Nbre de cyclesMode d’
adressage
Flags affectés
C Z P/V S N H
JP nn
JP cc,nn




JR e
JR C e
JR NC e
JR Z e
JR NZ e
JP (HL)
JP (IX)
JP (IY)
DJNZ e
PX <- nn
Si condition
cc vraie
PC <- nn
sinon continue
PC <- PC+e
Si c=0 continue
Si c=1 continue
Si z=0 continue
Si z=1 continue[/french}
B=0
PC <- PC+e
3
3




2
2
2
2
2
1
2
2
2
3
3




3
2
2
2
2
1
2
2
3
Im
Im




Im
Im
Im
Im
Im
In
IDX
IDX
Im
* * *... * * *
* * *... * * *




* * *... * *
* * *... * *
* * *... * *
* * *... * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *
* * *... * * *

GROUPE CALL ET RETURN 

MnémoniqueOpération
Symbolique
Nbre
d’octets
Nbre de cyclesMode d’
adressage
Flags affectés
C Z P/V S N H
CALL n

CALL cc,nn



RET

RET cc



RETI

RET N


RET P
(SP-1) <- PC
(SP-2) <- PC
Si condition
cc fausse
continuer sinon
comme CALL nn
PC <- (SP)
PC <- (SP+1)
Si condition
cc fausse
continuer sinon
comme RET
Retour
d'interruption
Retour
d'interruption
non masquable
(SP-1) <- PC
(SP-2) <- PC
PC <- 0
PC <- P
3

3



1

1



2

2


1
5

3



3

1



4

4


3
Im

Im



Im

Im



Im

Im


Im
* * *... * * *

* * *... * * *



* * *... * * *

* * *... * * *



* * *... * * *

* * *... * * *


* * *... * * *



  Voir cet article au format PDF Imprimer cet article

RECHERCHE
LANGUE
* Donathon 2017 *

145 €

 

 

 

 En savoir plus

Le Chat
 Smiles  Loading...
EN LIGNE
22 Personne(s) en ligne (2 Personne(s) connectée(s) sur Les articles Amstrad)

Utilisateur(s): 8
Invité(s): 14

MacDeath26, MvKTheBoss, moudubou, Tarodius, Moonbeam, BDCIRON, Golem13, TotO, Plus ...
Musiques CPC

Lecteur MP3
CPC-Scene Radio

 

 

ROLAND RADIO

Connexion
Identifiant :

Mot de passe :

Se souvenir de moi



Mot de passe perdu ?

Inscrivez-vous !

 

Informations
________________________________

Suivre Amstrad.eu

________________________________

Autres Créations web

________________________________

 

Declaration CNIL : 1005884

Association : 0540200002843

Charte

Avertissements

Plan du site

Carte de France des membres

 

 

 

Facebook.

Twitter.

RSS forum.

RSS News.

Contact.

 

Gaston-Phoebus.com

Amstrad.eu

untour.fr

Cathydeco.com

Higoogle

Harloup.fr

** Faire un don **

 

Conception Phenix © 2000 - 2014