Cliquez pour revenir au menu du site... ou ici pour retourner au menu du tutorial.
Mnemonic: Description:
ADC ADD WITH CARRY
ADD ADD
AND AND LOGIQUE
BIT BIT TEST
CALL CALL SUB ROUTINE
CCF COMPLEMENT CARRY FLAG
CP COMPARE
CPD COMPARE ET DÉCRÉMENTE
CPDR COMPARE DÉCRÉMENTE ET
RÉPÈTE
CPI COMPARE ET INCRÉMENTE
CPIR COMPARE INCRÉMENTE ET
RÉPÈTE
CPL COMPLÈTE L'ACCUMULATEUR
DAA AJUSTEMENT DÉCIMAL DE
L'ACCUMULATEUR (sert dans le calcul avec des décimaux :)
DEC DÉCRÉMENTE
DI DÉSACTIVE LES
INTERRUPTIONS
DJNZ DEC JUMP NON-ZERO
EI ACTIVE LES
INTERRUPTIONS
EX ÉCHANGE DEUX
PAIRES DE REGISTRES ENTRE ELLES
EXX EXCHANGE ALTERNATE
REGISTERS
HALT HALTE, ATTENDS UNE
INTERRUPTION, OU RESET
IM MODE
D'INTERRUPTION 0
1 2
IN INPUT FROM PORT
INC INCRÉMENTE
IND INPUT, DÉCRÉMENTE HL, DÉCRÉMENTE B
INDR INPUT, DÉCRÉMENTE HL, DÉCRÉMENTE
B, RÉPÈTE SI B>0
INI INPUT, INCRÉMENTE HL, DÉCRÉMENTE B
INIR INPUT, INCRÉMENTE HL, DÉCRÉMENTE B,
RÉPÈTE SI B>0
JP JUMP
JR JUMP RELATIF
LD CHARGE DES
DONNÉES DE/VERS LES REGISTRES/LA MÉMOIRE
LDD CHARGE, DÉCRÉMENTE
LDDR CHARGE, DÉCRÉMENTE ET
RÉPÈTE
LDI CHARGE, INCRÉMENTE
LDIR CHARGE, INCRÉMENTE ET
RÉPÈTE
NEG NEGATE ACCUMULATOR 2'S
COMPLEMENT
NOP AUCUNE OPÉRATION
OR --
OTDR OUTPUT, DÉCRÉMENTE HL, DÉCRÉMENTE B,
RÉPÈTE SI B>0
OTIR OUTPUT, INCRÉMENTE HL, DÉCRÉMENTE B,
RÉPÈTE SI B>0
OUT OUTPUT TO PORT
OUTD OUTPUT, DÉCRÉMENTE HL, DÉCRÉMENTE B
OUTI OUTPUT, INCRÉMENTE HL, DÉCRÉMENTE B
POP ÉJECTE DE LA PILE
PUSH POUSSE DANS LA PILE
RES RESET LE BIT
RET REVIENS D'UNE
SOUS-ROUTINE
RETI REVIENS D'UNE INTERRUPTION
RETN REVIENS D'UNE INTERRUPTION
NON MASQUABLE
RL ROTATION VERS LA
GAUCHE D'UN registre
RLA ROTATION VERS LA
GAUCHE DE L'ACCUMULATEUR
RLC ROTATE LEFT THROUGH
CARRY register
RLCA ROTATE LEFT THROUGH CARRY
ACCUMULATOR
RLD ROTATE LEFT DIGIT
RR ROTATION VERS LA
DROITE DU registre
RRA ROTATION VERS LA
DROITE DE L'ACCUMULATEUR
RRC ROTATE RIGHT CIRCULAR
register
RRCA ROTATE RIGHT CIRCULAR
ACCUMULATOR
RRD ROTATE RIGHT DIGIT
RST RESTART
SBC SUBTRACT WITH CARRY
SCF SET CARRY FLAG
SET SET BIT
SLA SHIFT LEFT ARITHMETIC
register
SRA SHIFT RIGHT ARITHMETIC
register
SRL SHIFT RIGHT LOGICAL
register
SUB SOUSTRACTION
XOR OR EXCLUSIF
Détails sur ADC
ADD WITH CARRY
Détails sur ADD
Détails sur AND
AND LOGIQUE
Détails sur BIT
BIT TEST
Détails sur CALL
APPELLE une sous-routine
Détails sur CCF
Opération: CY = Inv CY
Format d'instruction:
Opcode: CCF
OBJ: 3Fh
Description:
Le Carry flag du registre des flags est inversé.
Tstates: 4.
Flags:
S: Non assigné.
Z: Non assigné.
H: Le carry précédent sera copié dans H.
P/V: Non assigné.
N: Reset.
C: Set si le carry valait 0 avant l'opération, sinon reset.
Détails sur CP
COMPARE
Détails sur CPD
COMPARE ET DÉCRÉMENTE
Détails sur CPDR
COMPARE DÉCRÉMENTE ET RÉPÈTE
Flags: CY Z PV S N H
. ~ ~ ~ 1 ~ (~ = changes, . =
no change)
And the flags: si un octet est trouvé: Z=1; HL - adresse de l'octet suivant;
BC - trouvez vous-même.
non trouvé: Z=0
Détails sur CPI
COMPARE ET INCRÉMENTE
Détails sur CPIR
COMPARE INCRÉMENTE ET RÉPÈTE
Flags: CY Z PV S N H
. ~ ~ ~ 1 ~ (~ = changement, . = pas de changement)
Et les flags: si un octet est trouvé: Z=1; HL - adresse du prochain octet;
BC - trouvez vous-même.
non trouvé: Z=0
I believe, that if on exit BC=0 then PV=0 else PV=1, that's so with CPI
(CPD) command, so why shouldn't it be with CPIR (CPDR)?
So the difference between if a byte, is or is not found, is expressed
by the Zero flag. Sorry, don't know exactly how are S and H affected...
Détails sur CPL
COMPLÈTE L'ACCUMULATEUR
Détails sur DAA
Format d'instruction:
OPCODE
CYCLES
--------------------------------
27h
4
Description:
Cette instruction ajuste conditionnellement la valeur contenue dans
l'accumulateur
pour les additions et soustractions BCD (Binary Coded Decimal, décimal à codage
binaire).
Pour les additions (ADD, ADC, INC) ou les soustractions
(SUB, SBC, DEC, NEC), le tableau
suivant indique l'opération effectuée:
--------------------------------------------------------------------------------------
| | Flag C | Valeur HEX
du | Flag H | Valeur HEX du | Nombre | Flag C |
| Opération | avant |chiffre supérieur| avant |chiffre inférieur|
ajouté à| après |
| | DAA
| (bit 7-4) | DAA | (bit 3-0) |
l'octet | DAA |
|------------------------------------------------------------------------------------|
| | 0
| 0-9 | 0
| 0-9 | 00
| 0 |
| ADD | 0 |
0-8 | 0 | A-F | 06 |
0 |
| | 0
| 0-9 | 1
| 0-3 | 06
| 0 |
| ADC | 0 |
A-F | 0 |
0-9 | 60 |
1 |
| | 0
| 9-F | 0
| A-F | 66
| 1 |
| INC | 0 |
A-F | 1 |
0-3 | 66 |
1 |
| | 1
| 0-2 | 0
| 0-9 | 60
| 1 |
| | 1
| 0-2 | 0
| A-F | 66
| 1 |
| | 1
| 0-3 | 1
| 0-3 | 66
| 1 |
|------------------------------------------------------------------------------------|
| SUB | 0 |
0-9 | 0 |
0-9 | 00 |
0 |
| SBC | 0 |
0-8 | 1 |
6-F | FA |
0 |
| DEC | 1 |
7-F | 0 |
0-9 | A0 |
1 |
| NEG | 1 |
6-F | 1 |
6-F | 9A |
1 |
|------------------------------------------------------------------------------------|
Flags:
C: Voir l'instruction.
N: Non assigné.
P/V: Set si l'accumulateur contient une valeur paire, sinon reset.
H: Voir l'instruction.
Z: Set si l'accumulateur est à zéro après l'opération, sinon reset.
S: Set si le bit le plus significatif de l'accumulateur vaut 1 après
l'opération, sinon reset.
Exemple:
Quand une addition entre 15 (BCD) et 27 (BCD), l'arithmétique décimale simple
nous donne:
15
+27
----
42
Mais lorsque les équivalents en binaire sont additionnés dans l'accumulateur en
suivant
l'arithmétique binaire:
0001 0101 15
+0010 0111 27
---------------
0011 1100 3C
La somme est fausse. L'instruction DAA ajuste le résultat pour que la
représentation BCD correcte soit obtenue:
0011 1100 3C résultat
+0000 0110 06 +erreur
---------------
0100 0010 42 Correct BCD!
Détails sur DEC
DÉCRÉMENTE
Détails sur DI
DÉSACTIVE LES INTERRUPTIONS
Détails sur DJNZ
DEC JUMP NON-ZERO
Détails sur EI
ACTIVE LES INTERRUPTIONS
Détails sur EX
ÉCHANGE DES PAIRES DE REGISTRES
ASM: EX DE,HL
OBJ: EBh
Tstates : 4.
ASM: EX AF,AF'
OBJ: 08h
Tstates : 4.
Description:
Les valeurs 16 bits dans les deux registres sont échangées.
note: la paire de registres AF est constituée du registre a et du registre de
flags F
ASM: EX (SP),HL
OBJ: E3h
Tstates : 19.
Description:
L'octet d'ordre bas contenu dans la paire de registres HL est échangé contre le
contenu d'une certaine
adresse mémoire spécifiée dans la paire de registres SP (Stack Pointer, pointeur
de pile),
et l'octet d'ordre élevé de HL est échangé contre l'adresse mémoire suivante la
plus élevée
(SP+1).
H <-> (SP+1) , L <-> (SP) ceci n'affectera pas le contenu de SP.
ASM: EX (SP),IX
OBJ: DDh, E3h
Tstates : 23.
ASM: EX (SP),IY
OBJ: FDh, E3h
Tstates : 23.
Description:
Fait la même chose que le précédent.
eg: IXH <-> (SP+1), IXL <-> (SP) IXH = IX height byte, IXL = IX low byte..
Détails sur EXX
EXCHANGE ALTERNATE REGISTERS
ASM: EXX
OBJ: D9h
Tstates : 4.
Description:
Chaque valeur de 16 bits dans les paires de registre BC, DE, HL est échangée
contre la valeur de 16 bits contenue dans BC', DE', HL' respectivement.
eg:
BC <-> BC'
DE <-> DE'
HL <-> HL'
Détails sur HALT
HALTE, ATTENDS UNE INTERRUPTION OU RESET
ASM: HALT
OBJ: 76h
Tstates : 4.
Description:
L'instruction HALT interromps l'opération en cours du CPU jusqu'à ce qu'une
interruption ou un reset
soit reçu. En état interrompu, le processeur exécutera des NOP pour maintenir la
logique de rafraîchissement de la mémoire.
Détails sur IM
MODE D'INTERRUPTION 0 1 2
Détails sur IN
INPUT FROM PORT
Détails sur INC
INCRÉMENTE
Détails sur IND
Format d'instruction:
OPCODE
CYCLES
-------------------------------
ED AA
16
Description:
Le contenu du registre C est placé dans la moitié basse (A0-A7) du bus d'adresse
pour sélectioner le dispositif I/O. Le registre B peut être utilisé comme
compteur
d'octets, et son contenu est placé cette fois dans la moitié haute (A8-A15) du
bus d'adresse.
Ensuite, un octet du port sélectionné est placé sur le bus de données et écrit
dans le processeur.
La paire de registres HL contient un pointeur pour stocker l'octet en mémoire.
La paire de registre
HL est décrémentée, le compteur d'octets B est décrémenté.
Flags:
C: Non assigné.
N: Set.
P/V: Inconnu
H: Inconnu
Z: Set si B-1=0, sinon reset.
S: Inconnu.
Exemple:
Reg C=07h
Reg B=10h
Reg HL=1000h
IO port nr. 07h contiens les données 7Bh
Ensuite après l'exécution de
IND
La paire de registres HL contiendra 0FFFh, le registre B contiendra 0Fh,
et l'emplacement mémoire 1000h contiendra 7Bh.
Détails sur INDR
Format d'instruction:
OPCODE
CYCLES
--------------------------------------------
ED BA
16 if B=0 21 if B >< 0
Description:
Le contenu du registre C est placé dans la moitié basse (A0-A7) du bus d'adresse
pour sélectionner le dispositif I/O. Le registre B est utilisé comme compteur
d'octets, et son contenu est placé cette fois dans la moitié haute (A8-A15) du
bus d'adresse. Ensuite, un octet provenant du port sélectionné est placé sur le
bus de données et écrit dans le CPU. La paire de registres HL contient un
pointeur pour stocker l'octet en mémoire. La paire de registres HL est
décrémentée, le compteur d'octets B est décrémenté.
Si la décrémentation de B lui fait atteindre zéro, l'instruction ne s'exécute
plus. Si B ne vaut pas zéro, l'instruction est exécutée une nouvelle fois.
Flags:
C: Non assigné.
N: Set.
P/V: Inconnu
H: Inconnu
Z: Set.
S: Inconnu
Exemple:
Reg C=07h
Reg B=03h
Reg HL=1000h
IO port nr. 07h contiens les données 51h, A9h, 03h
Ensuite après l'exécution de
INDR
la paire de registres HL contiendra 0FFDh, et le registre B contiendra zéro,
et les emplacements mémoire contiendront les données suivantes:
Emplacement: Contenu:
0FFEh 03h
0FFFh A9h
1000h 51h
Détails sur INI
Format d'instruction:
OPCODE CYCLES
---------------------
ED A2 16
Description:
Le contenu du registre C est placé dans la moitié basse (A0-A7) du bus d'adresse
pour sélectionner le dispositif I/O. Le registre B peut être utilisé comme
compteur
d'octets, et son contenu est placé cette fois dans la moitié haute (A8-A15) du
bus d'adresse.
Ensuite un octet du port sélectionné est placé sur le bus de données et écrit
dans le CPU.
La paire de registres HL contient un pointeur pour stocker l'octet en mémoire.
Finalement, le registre B est décrémenté et la paire de registres HL est
incrémentée.
Flags:
C: Non assigné.
N: Set.
P/V: Inconnu
H: Inconnu
Z: Set si B-1=0, sinon reset.
S: Inconnu
Exemple:
Reg C=07h
Reg B=12h
Reg HL=1000h
IO port nr. 07h contiens les données 7Bh
Ensuite, après l'exécution de
INI
L'emplacement mémoire 1000h contiendra 7Bh, la paire de registres HL contiendra
1001h, et le registre B contiendra 11h.
Détails sur INIR
Format d'instruction:
OPCODE
CYCLES
--------------------------------------------
ED B2
16 if B=0 21 if B >< 0
Description:
Le contenu du registre C est placé sur le moitié basse (A0-A7) du bus d'adresse
pour sélectionner
le dispositif d'I/O. Le registre B est utilisé comme compteur d'octet, et son
contenu est placé
cette fois dans la moitié supérieure (A8-A15) du bus d'adresse. Ensuite un octet
du port sélectionné
est placé sur le bus de données et écrit dans le CPU. La paire de registres HL
contient un pointeur pour stocker l'octet en mémoire. La paire de registres HL
est incrémentée, le compteur d'octet B est
décrémenté. Si la décrémentation amène B à zéro, l'instruction arrête son
exécution. Si B ne vaut pas
zéro, l'instruction est répétée.
Flags:
C: Non assigné.
N: Set.
P/V: Inconnu.
H: Inconnu.
Z: Set.
S: Inconnu.
Exemple:
Reg C=07h
Reg B=03h
Reg HL=1000h
IO port nr. 07h contain data 51h, A9h, 03h
Ensuite, après l'exécution de
INIR
La paire de registres HL contiendra 1003h, le registre B contiendra zéro, et les
emplacements mémoire
contiendront les valeurs suivantes:
Emplacement: Contenu:
1000h 51h
1001h A9h
1002h 03h
Détails sur JP
JUMP à une adresse.
Détails sur JR
JUMP à une adresse relative
Détails sur LD
Format d'instruction:
OPCODE r r'
CYCLES
----------------------------------------------------
01 ddd sss
LD r,r' dst,src 4
Note introductrice -- Forme binaire des opcodes
Exemple: LD r,r'
L'opcode binaire 8 bits est
r r'
01dddsss
...où "ddd" est un champ de 3 bits qui spécifie la destination, et "sss"
un champ de 3 bits spécifiant la source.
voilà les valeurs de ddd et sss:
Registres
--------------
A = 111
B = 000
C = 001
D = 010
E = 011
H = 100
L = 101
Opération: dst <-- src
The contest of the source operand are loaded into the destination operand. The
contents of the source operand are Non assigné.
Flags:
C: Non assigné.
N: Non assigné.
P/V: Non assigné.
H: Non assigné.
Z: Non assigné.
S: Non assigné.
Example: If register E, contains the value 10h, The statement:
ASM: LD H,E
OBJ: 63h
Loads the value 10H into register H.
Détails sur LDD
Format d'instruction:
OPCODE
CYCLES
-----------------------------
ED A8
16
Description:
Cette instruction transfère un octet de données d'un emplacement mémoire dont
l'adresse est donnée par la paire de registres HL, vers un emplacement mémoire
adressé
par la paire de registres DE. Ensuite ces deux paires de registres incluant BC
(byte counter,
compteur d'octet) sont décrémentées.
Flags:
C: Non assigné.
N: reset.
P/V: Set if BC-1 si non 0, sinon reset.
H: Reset.
Z: Non assigné.
S: Non assigné.
Détails sur LDDR
Format d'instruction:
OPCODE
CYCLES
-----------------------------
ED A8
16
Description:
Cette instruction transfère un octet de données d'un emplacement mémoire dont
l'adresse est donnée par la paire de registres HL, vers un emplacement mémoire
adressé
par la paire de registres DE. Ensuite ces deux paires de registres incluant BC
(byte counter,
compteur d'octet) sont décrémentées.
Flags:
C: Non assigné.
N: reset.
P/V: Set if BC-1 si non 0, sinon reset.
H: Reset.
Z: Non assigné.
S: Non assigné.
Détails sur LDI
CHARGE ET INCRÉMENTE
Détails sur LDIR
CHARGE INCRÉMENTE ET RÉPÈTE
Détails sur NEG
NEGATE ACCUMULATOR 2'S COMPLEMENT
Détails sur NOP
NO Opération, pas d'opération, ce n'est pas l'instruction la plus compliquée :-)
Détails sur OR
Détails sur OTDR
OUTPUT, DÉC HL, DÉC B, RÉPÈTE SI B>0
Détails sur OTIR
OUTPUT, INC HL, DÉC B, RÉPÈTE SI B>0
Détails sur OUT
OUTPUT VERS LE PORT
Détails sur OUTD
OUTPUT, DÉC HL, DÉC B
Détails sur OUTI
OUTPUT, INC HL, DÉC B
Détails sur POP
ÉJECTER DE LA PILE
Détails sur PUSH
POUSSER DANS LA PILE
Détails sur RES
RESET LE BIT
Détails sur RET
REVIENS D'UNE SOUS-ROUTINE
Détails sur RETI
REVIENS D'UNE INTERRUPTION
Détails sur RETN
REVIENS D'UNE INTERRUPTION NON MASQUABLE
Détails sur RL
Format d'instruction:
ASM: RL B
OBJ: CBh, 10h
Tstates : 8.
ASM: RL C
OBJ: CBh, 11h
Tstates : 8.
ASM: RL D
OBJ: CBh, 12h
Tstates : 8.
ASM: RL E
OBJ: CBh, 13h
Tstates : 8.
ASM: RL H
OBJ: CBh, 14h
Tstates : 8.
ASM: RL L
OBJ: CBh, 15h
Tstates : 8.
ASM: RL A
OBJ: CBh, 17h
Tstates : 8.
ASM: RL (HL)
OBJ: CBh, 16h
Tstates : 15.
ASM: RL (IX+D)
OBJ: DDh, CBh, XX, 16h
Tstates : 23.
ASM: RL (IY+D)
OBJ: FDh, CBh, XX, 16h
Tstates : 23.
XX is the offset value.
Détails sur RLA
Format d'instructions:
ASM: RLA
OBJ: 17h
Tstates : 4.
Détails sur RLC
Format d'instruction:
ASM: RLC B
OBJ: CBh, 00h
Tstates : 8.
ASM: RLC C
OBJ: CBh, 01h
Tstates : 8.
ASM: RLC D
OBJ: CBh, 02h
Tstates : 8.
ASM: RLC E
OBJ: CBh, 03h
Tstates : 8.
ASM: RLC H
OBJ: CBh, 04h
Tstates : 8.
ASM: RLC L
OBJ: CBh, 05h
Tstates : 8.
ASM: RLC A
OBJ: CBh, 07h
Tstates : 8.
ASM: RLC (HL)
OBJ: CBh, 06h
Tstates : 15.
ASM: RLC (IX+D)
OBJ: DDh, CBh, XX, 06h
Tstates : 23.
ASM: RLC (IY+D)
OBJ: FDh, CBh, XX, 06h
Tstates : 23.
XX is the offset value.
Détails sur RLCA
Format d'instruction:
ASM: RLCA
OBJ: 07h
Tstates : 4.
Détails sur RLD
Format d'instruction:
ASM: RLD
OBJ: EDh, 6Fh
Tstates : 18.
Détails sur RR
Format d'instruction:
ASM: RR B
OBJ: CBh, 18h
Tstates : 8.
ASM: RR C
OBJ: CBh, 19h
Tstates : 8.
ASM: RR D
OBJ: CBh, 1Ah
Tstates : 8.
ASM: RR E
OBJ: CBh, 1Bh
Tstates : 8.
ASM: RR H
OBJ: CBh, 1Ch
Tstates : 8.
ASM: RR L
OBJ: CBh, 1Dh
Tstates : 8.
ASM: RR A
OBJ: CBh, 1Fh
Tstates : 8.
ASM: RR (HL)
OBJ: CBh, 1Eh
Tstates : 15.
ASM: RR (IX+D)
OBJ: DDh, CBh, XX, 1Eh
Tstates : 23.
ASM: RR (IY+D)
OBJ: FDh, CBh, XX, 1Eh
Tstates : 23.
XX is the offset value.
Détails sur RRA
Format d'instruction:
ASM: RRA
OBJ: 1Fh
Tstates : 4.
Détails sur RRC
Format d'instruction:
ASM: RRC B
OBJ: CBh, 08h
Tstates : 8.
ASM: RRC C
OBJ: CBh, 09h
Tstates : 8.
ASM: RRC D
OBJ: CBh, 0Ah
Tstates : 8.
ASM: RRC E
OBJ: CBh, 0Bh
Tstates : 8.
ASM: RRC H
OBJ: CBh, 0Ch
Tstates : 8.
ASM: RRC L
OBJ: CBh, 0Dh
Tstates : 8.
ASM: RRC A
OBJ: CBh, 0Fh
Tstates : 8.
ASM: RRC (HL)
OBJ: CBh, 0Eh
Tstates : 15.
ASM: RRC (IX+D)
OBJ: DDh, CBh, XX, 0Eh
Tstates : 23.
ASM: RRC (IY+D)
OBJ: FDh, CBh, XX, 0Eh
Tstates : 23.
XX is the offset value.
Détails sur RRCA
Format d'instruction:
ASM: RRCA
OBJ: 0Fh
Tstates : 4.
Détails sur RRD
Format d'instruction:
ROTATE RIGHT DIGIT
ASM: RRD
OBJ: EDh, 67h
Tstates : 18.
Détails sur RST
Format d'instruction:
OPCODE ADRESSE DU CALL MNEMONIC
CYCLES
----------------------------------------------------
C7h 0000h RST 0
CFh 0008h RST 8
D7h 0010h RST 16
DFh 0018h RST 24
E7h 0020h RST 32
EFh 0028h RST 40
F7h 0030h RST 48
FFh 0038h RST 56
Détails sur SBC
SUBTRACT WITH CARRY
Détails sur SCF
Opperation: CY = 1
Format d'instruction:
Opcode: SCF
OBJ: 37h
Description:
Le flag carry dans le registre des flags est placé à "set" (1).
Tstates: 4.
Flags:
S: Non assigné.
Z: Non assigné.
H: Reset
P/V: Non assigné.
N: Reset.
C: Set
Détails sur SET b, r
Opération: rb = 1
Format d'instruction:
CBh
Le bit b dans le registre r est placé à "set".Bit b in register r is set. Operands b and r are specified as follows:
Bit b Registre
r
0 000 B
000
1 001 C
001
2 010 D
010
3 011 E
011
4 100 H
100
5 101 L
101
6 110 A
111
7 111
Tstates: 8.
Flags: Aucun assigné
Example:
ASM: SET 3,D
OBJ: CBh, DAh
Détails sur SET b, (HL)
Opération: (HL)b = 1
Format d'instruction:
CBh
Le bit b à l'emplacement mémoire adressé par le contenu de la paire de registres
HL est placé à "set". Operands b is specified as follows:
Bit b
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Tstates: 15.
Flags: Aucun assigné
Example:
ASM: SET 5,(HL)
OBJ: CBh, EEh
Détails sur SET b, (IX+d)
Opération: (IX+d)b = 1
Format d'instruction:
DDh
CBh
Le bit b est placé à "set", à l'emplacement mémoire adressé par la somme
Bit b is set, in the memory location addressed by the sum of the contents of
register IX and the two's complement integer d. (d = adr. offset)
Operands b is specified as follows:
Bit b
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Tstates: 23.
Flags: Aucun assigné
Example:
ASM: SET 0,(IX+3h)
OBJ: DDh, CBh, 03h, C6h
Si le contenu du registre d'index IX vaut 2000h, alors le bit 0 à l'emplacement
mémoire 2003h sera à 1 (set).
Le bit 0 est le bit le moins significatif
Détails sur SET b, (IY+d)
Opération: (IY+d)b = 1
Format d'instruction:
FDh
CBh
Le bit b est placé à "set", in the memory location addressed by the sum of the contents of
register IY and the two's complement integer d. (d = adr. offset)
Operands b is specified as follows:
Bit b
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Tstates: 23.
Flags: Aucun assigné
Example:
ASM: SET 0,(IY+47h)
OBJ: DDh, CBh, 47h, C6h
Si le contenu du registre d'index IX vaut 200h, alors le bit 0 à l'emplacement
mémoire 2047h sera à 1 (set).
Le bit 0 est le bit le moins significatif.
Détails sur SLA
Format d'instruction:
ASM: SLA B
OBJ: CBh, 20h
Tstates : 8.
ASM: SLA C
OBJ: CBh, 21h
Tstates : 8.
ASM: SLA D
OBJ: CBh, 22h
Tstates : 8.
ASM: SLA E
OBJ: CBh, 23h
Tstates : 8.
ASM: SLA H
OBJ: CBh, 24h
Tstates : 8.
ASM: SLA L
OBJ: CBh, 25h
Tstates : 8.
ASM: SLA A
OBJ: CBh, 27h
Tstates : 8.
ASM: SLA (HL)
OBJ: CBh, 26h
Tstates : 15.
ASM: SLA (IX+D)
OBJ: DDh, CBh, XX, 26h
Tstates : 23.
ASM: SLA (IY+D)
OBJ: FDh, CBh, XX, 26h
Tstates : 23.
XX is the offset value.
Détails sur SRA
Format d'instruction:
ASM: SRA B
OBJ: CBh, 28h
Tstates : 8.
ASM: SRA C
OBJ: CBh, 29h
Tstates : 8.
ASM: SRA D
OBJ: CBh, 2Ah
Tstates : 8.
ASM: SRA E
OBJ: CBh, 2Bh
Tstates : 8.
ASM: SRA H
OBJ: CBh, 2Ch
Tstates : 8.
ASM: SRA L
OBJ: CBh, 2Dh
Tstates : 8.
ASM: SRA A
OBJ: CBh, 2Fh
Tstates : 8.
ASM: SRA (HL)
OBJ: CBh, 2Eh
Tstates : 15.
ASM: SRA (IX+D)
OBJ: DDh, CBh, XX, 2Eh
Tstates : 23.
ASM: SRA (IY+D)
OBJ: FDh, CBh, XX, 2Eh
Tstates : 23.
XX is the offset value.
Détails sur SRL
Format d'instruction:
ASM: SRL B
OBJ: CBh, 38h
Tstates : 8.
ASM: SRL C
OBJ: CBh, 39h
Tstates : 8.
ASM: SRL D
OBJ: CBh, 3Ah
Tstates : 8.
ASM: SRL E
OBJ: CBh, 3Bh
Tstates : 8.
ASM: SRL H
OBJ: CBh, 3Ch
Tstates : 8.
ASM: SRL L
OBJ: CBh, 3Dh
Tstates : 8.
ASM: SRL A
OBJ: CBh, 3Fh
Tstates : 8.
ASM: SRL (HL)
OBJ: CBh, 3Eh
Tstates : 15.
ASM: SRL (IX+D)
OBJ: DDh, CBh, XX, 3Eh
Tstates : 23.
ASM: SRL (IY+D)
OBJ: FDh, CBh, XX, 3Eh
Tstates : 23.
XX is the offset value.
Détails sur SUB
Opération: A = A - s
The s operand is subtracted from the contents of the accumulator, and the result
is stored in the Accumulator.
ASM: SUB B
OBJ: 90h
Tstates : 4.
ASM: SUB C
OBJ: 91h
Tstates : 4.
ASM: SUB D
OBJ: 92h
Tstates : 4.
ASM: SUB E
OBJ: 93h
Tstates : 4.
ASM: SUB H
OBJ: 94h
Tstates : 4.
ASM: SUB L
OBJ: 95h
Tstates : 4.
ASM: SUB A
OBJ: 97h
Tstates : 4.
ASM: SUB n
OBJ: D6h, n
Tstates : 7.
ASM: SUB (HL)
OBJ: 96h
Tstates : 7.
ASM: SUB (IX+d)
OBJ: DDh, 96h, d
Tstates : 19.
ASM: SUB (IY+d)
OBJ: FDh, 96h, d
Tstates : 19.
Flags:
S: Set si le résultat est négatif, sinon reset.
Z: Set si le résultat vaut zéro, sinon reset.
H: Set if borrow from Bit4, reset otherwise.
P/V: Set si overflow, sinon reset.
N: Reset.
C: Set if borrow, reset otherwise.
Exemple: Si l'accumulateur contiens 29h, et le registre D contiens 11h, après
l'exécution de:
ASM: SUB D
OBJ: 92h
L'accumulateur contiendra 18h.
Détails sur XOR
Opération: A = A xor s
Une opération logique exclusive-OR est effectuée antre l'octet spécifié par
A logical exclusive-OR opperation is performed between the byte specified by the
s opperand and the byte contained in the Accumulator, the result is stored in
the Accumulator.
ASM: XOR B
OBJ: A8h
Tstates : 4.
ASM: XOR C
OBJ: A9h
Tstates : 4.
ASM: XOR D
OBJ: AAh
Tstates : 4.
ASM: XOR E
OBJ: ABh
Tstates : 4.
ASM: XOR H
OBJ: ACh
Tstates : 4.
ASM: XOR L
OBJ: ADh
Tstates : 4.
ASM: XOR A
OBJ: AFh
Tstates : 4.
ASM: XOR n
OBJ: EEh, n
Tstates : 7.
ASM: XOR (HL)
OBJ: AEh
Tstates : 7.
ASM: XOR (IX+d)
OBJ: DDh, AEh, d
Tstates : 19.
ASM: XOR (IY+d)
OBJ: FDh, AEh, d
Tstates : 19.
Flags:
S: Set si résultat négatif, sinon reset.
Z: Set si résultat vaut zéro, sinon reset.
H: Reset.
P/V: Set si la parité est paire, sinon reset.
N: Reset.
C: Reset.
Exemple: Si l'accumulateur contiens 96h (10010110), et le registre D contiens
5Dh (01011101) , après l'exécution de:
ASM: XOR D
OBJ: AAh
L'accumulateur contiendra CBh (11001011).