ARITHMÉTIQUES Fonction Introduction
Fonction Index des mnémoniques

Page précédente Fonction prochaine partie
Fonction partie précédente



 

Monter Descendre Retour Introduction
puce Les instructions arithmétiques vous permettent entre autres d'effectuer les calculs les plus courant avec l'addition, la soustraction, la multiplication, la division... mais aussi de faire des comparaisons et des tests en vue de faire des branchement.

puce Il faudra obligatoirement utiliser un mode d'adressage parmi ceux proposés.

puce N'oubliez pas que les indicateurs changent pour certaines instructions.





 
Monter Retour Index des mnémoniques
ADDADD
addition d'opérandes
CMPICoMPare Immediate
comparaison immédiate
NEGXNEGate eXtended
complément à deux étendu
ADDAADD Address
addition d'adresses
CMPMCoMPare Memory
comparaison de mémoires
SUBSUBtract
soustraction d'opérandes
ADDIADDImmediate
addition immédiate
DIVSDIVide Signed
division signée
SUBASUBtract Address
soustraction d'adresse
ADDQADD Quick
addition rapide
DIVUDIVide Unsigned
division non signée
SUBISUBtract Immediate
soustraction immédiate
ADDXADD eXtended
addition étendue
EXTsign EXTended
extension du signe
SUBQSUBtract Quick
soustraction rapide
CLRCLeaR
efface un opérande
MULSMULtiply Signed
multiplication signée
SUBXSUBtract eXtended
soustraction étendue
CMPCoMPare
comparaison d'opérandes
MULUMULtiply Unsigned
multiplication non signée
TASTest And Set
synchronisation de processeurs
CMPACoMPare Address
comparaison d'adresse
NEGNEGate
complément à deux
TSTTeST
test un opérande




 

Retour ADD ADD
addition d'opérandes
Monter Descendre

DESCRIPTION
puce Additione deux opérandes dont un au moins est un registre de données et enregistre le résultat dans celui de destination.
puce Il y a quatre instructions d'addition et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction ADD en permanence.

MODES D'ADRESSAGE (registre comme opérande de destination)
puce Dn, An, (An), -(An), (An)+, y(An), x(An,Xn.s), y, z, y(PC), x(PC,Xn.s), #xyz

Pour le mode d'adressage An, la taille des donnée doit être un mot ou un mot long.

MODES D'ADRESSAGE (adresse effective comme opérande de destination)
puce (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
X1 si le résultat dépasse 32 bits, sinon 0
NStandard
ZStandard
VStandard
C1 si le résultat dépasse 32 bits, sinon 0

SYNTAXES
puce ADD <adresse>,Dy
puce ADD Dx,<adresse>





 

Retour ADDA ADD Address
addition d'adresses
Monter Descendre

DESCRIPTION
puce Additionne un opérande à un registre d'adresse. Ceci nous permet d'avoir un registre d'adresse comme destination, ce qui n'était pas possible avec l'instruction ADD
Notez que cette instruction modifie les 32 bits du registre d'adresse.
puce Il y a quatre instructions d'addition et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction ADD en permanence.

MODES D'ADRESSAGE
puce Dn, An, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z, y(PC), x(PC,Xn.s), #xyz

TAILLE DES DONNÉES
puce Mot / Mot long

INDICATEURS
Inchangés

SYNTAXE
puce ADDA <adresse>,An





 

Retour ADDI ADDImmediate
addition immédiate
Monter Descendre

DESCRIPTION
puce Additionne une constante à une adresse effective.
puce Il y a quatre instructions d'addition et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction ADD en permanence.

MODES D'ADRESSAGE
puce Dn, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
X1 si le résultat dépasse 32 bits, sinon 0
NStandard
ZStandard
C1 si le résultat dépasse 32 bits, sinon 0
VStandard

SYNTAXE

puce ADDI #xyz,<adresse>





 

Retour ADDQ ADD Quick
addition rapide
Monter Descendre

DESCRIPTION
puce Additionne une constante définie sur 3 bits à une adresse effective. Cette constante aura donc comme valeurs possible 0 à 7.
Cette instruction est beaucoup plus rapide que l'instruction ADD.
puce Il y a quatre instructions d'addition et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction ADD en permanence.

MODES D'ADRESSAGE
puce Dn, An, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
X1 si le résultat dépasse 32 bits, sinon 0
NStandard
ZStandard
VStandard
C1 si le résultat dépasse 32 bits, sinon 0

SYNTAXE

puce ADDQ #<constante>,<adresse>





 

Retour ADDX ADD eXtended
addition étendue
Monter Descendre

DESCRIPTION
puce Additionne deux opérandes dont un au moins est un registre de données et enregistre le résultat dans celui de destination.

puce La seule différence avec l'instruction ADD est que l'indicateur X est lui aussi additionné au résultat. Donc si celui-ci est posé (=1), le résultat est incrémenté de 1.

puce Il y a quatre instructions d'addition et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction ADD en permanence.

MODES D'ADRESSAGE
puce Dn, -(An)

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
X1 si le résultat dépasse 32 bits, sinon 0
NStandard
ZStandard
VStandard
C1 si le résultat dépasse 32 bits, sinon 0

SYNTAXE

puce ADDX Dx,Dy





 

Retour CLR CLeaR
efface un opérande
Monter Descendre

DESCRIPTION
puce Efface le contenu d'une adresse effective.

MODES D'ADRESSAGE
puce Dn, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
XInchangé
N0
Z1
V0
C0

SYNTAXE
puce CLR <adresse>





 

Retour CMP CoMPare
comparaison d'opérandes
Monter Descendre

DESCRIPTION
puce Compare un registre de données avec une adresse effective, sans changer ces deux opérandes.
Les indicateurs changent comme si nous retranchions l'adresse effective au registre de données.
Cette instruction est souvent utilisées avec les instructions de branchement Bcc, DBcc et Scc.
puce Il y a quatre instructions de comparaison et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction CMP en permanence.

MODES D'ADRESSAGE
puce Dn, An, (An), -(An), (An)+, y(An), x(An,Xn.s), y, z, y(PC), x(PC,Xn.s), #xyz

Pour le mode d'adressage An, la taille des donnée doit être un mot ou un mot long.

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
XInchangé
NStandard
ZStandard
VStandard
C1 si le résultat de la soustraction dépasse 32 bits, sinon 0

SYNTAXE
puce CMP <adresse>,Dy





 

Retour CMPA CoMPare Address
comparaison d'adresse
Monter Descendre

DESCRIPTION
puce Compare un registre d'adresse avec une adresse effective, sans changer ces deux opérandes.
Les indicateurs changent comme si nous retranchions l'adresse effective au registre d'adresse.
Cette instruction est souvent utilisées avec les instructions de branchement Bcc, DBcc et Scc.
puce Il y a quatre instructions de comparaison et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction CMP en permanence.

MODES D'ADRESSAGE
puce Dn, An, (An), -(An), (An)+, y(An), x(An,Xn.s), y, z, y(PC), x(PC,Xn.s), #xyz

TAILLE DES DONNÉES
puce Mot / Mot long

INDICATEURS
XInchangé
NStandard
ZStandard
VStandard
C1 si le résultat de la soustraction dépasse 32 bits, sinon 0

SYNTAXE

puce CMPA <adresse>,An





 

Retour CMPI CoMPare Immediate
comparaison immédiate
Monter Descendre

DESCRIPTION
puce Compare une valeur immédiate avec une adresse effective, sans changer cette dernière opérande.
Les indicateurs changent comme si nous retranchions la valeur immédiate à l'adresse effective.
Cette instruction est souvent utilisées avec les instructions de branchement Bcc, DBcc et Scc.
puce Il y a quatre instructions de comparaison et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction CMP en permanence.

MODES D'ADRESSAGE
puce Dn, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
XInchangé
NStandard
ZStandard
VStandard
C1 si le résultat de la soustraction dépasse 32 bits, sinon 0

SYNTAXE

puce CMPI #<valeur>,<adresse>





 

Retour CMPM CoMPare Memory
comparaison de mémoires
Monter Descendre

DESCRIPTION
puce Compare entre elles deux emplacements de mémoire avec post-incrémentation.
puce Il y a quatre instructions de comparaison et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction CMP en permanence.

MODE D'ADRESSAGE
puce (An)+

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
XInchangé
NStandard
ZStandard
VStandard
C1 si le résultat de la soustraction dépasse 32 bits, sinon 0

SYNTAXE

puce CMPM <adresse>,<adresse>





 

Retour DIVS DIVide Signed
division signée
Monter Descendre

DESCRIPTION
puce Divise un registre de données considéré comme signé, par une adresse effective.
Le résultat est enregistré dans le registre de donnée en deux parties, le quotient dans le mot de poids faible et le reste dans le mot de poids forts.
Deux erreurs peuvent arriver avec cette instruction, dans le cas d'une division par 0 une interruption sera déclenchée et si le quotient est supérieur à 16 bits le registre de donnée reste inchangé et l'indicateur V est armé.

MODES D'ADRESSAGE
puce Dn, (An), -(An), (An)+, y(An), x(An,Xn.s), y, z, y(PC), x(PC,Xn.s), #xyz

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
XInchangé
NStandard, inchangé si il y a débordement
ZStandard, inchangé si il y a débordement
VStandard
C0

SYNTAXE

puce DIVS <adresse>,Dy





 

Retour DIVU DIVide Unsigned
division non signée
Monter Descendre

DESCRIPTION
puce Divise un registre de données considéré comme non signé, par une adresse effective.
Le résultat est enregistré dans le registre de donnée en deux parties, le quotient dans le mot de poids faible et le reste dans le mot de poids forts.
Deux erreurs peuvent arriver avec cette instruction, dans le cas d'une division par 0 une interruption sera déclenchée et si le quotient est supérieur à 16 bits le registre de donnée reste inchangé et l'indicateur V est armé.

MODES D'ADRESSAGE
puce Dn, (An), -(An), (An)+, y(An), x(An,Xn.s), y, z, y(PC), x(PC,Xn.s), #xyz

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
XInchangé
NStandard, inchangé si il y a débordement
ZStandard, inchangé si il y a débordement
VStandard
C0

SYNTAXE

puce DIVU <adresse>,Dy





 

Retour EXT sign EXTended
extension du signe
Monter Descendre

DESCRIPTION
puce Étend le signe d'un registre de données, celui-ci devient un mot si il était un octet ou devient un mot long si il était un mot.
Dans le cas d'une extension d'un octet vers un mot, la valeur du bit 7 est recopié dans les bits 8 à 15.
Dans le cas d'une extension d'un mot vers un mot long, la valeur du bit 15 est recopié dans les bits 16 à 31.

MODE D'ADRESSAGE
puce Dn

TAILLE DES DONNÉES
puce Mot / Mot long

INDICATEURS
XInchangé
NStandard
ZStandard
V0
C0

SYNTAXE

puce EXT Dn





 

Retour MULS MULtiply Signed
multiplication signée
Monter Descendre

DESCRIPTION
puce Multiplie un registre de données consideré comme signé par une adresse effective 16 bits consideré comme signée.
Le résultat enregistré dans le registre de données est sur 32 bits.

MODES D'ADRESSAGE
puce Dn, (An), -(An), (An)+, y(An), x(An,Xn.s), y, z, y(PC), x(PC,Xn.s), #xyz

TAILLE DES DONNÉES
puce Mot

INDICATEURS
XInchangé
NStandard
ZStandard
V0
C0

SYNTAXE

puce MULS <adresse>,Dy





 

Retour MULU MULtiply Unsigned
multiplication non signée
Monter Descendre

DESCRIPTION
puce Multiplie un registre de données consideré comme non signé par une adresse effective 16 bits consideré comme non signée.
Le résultat enregistré dans le registre de données est sur 32 bits.

MODES D'ADRESSAGE
puce Dn, (An), -(An), (An)+, y(An), x(An,Xn.s), y, z, y(PC), x(PC,Xn.s), #xyz

TAILLE DES DONNÉES
puce Mot

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
XInchangé
NStandard
ZStandard
V0
C0

SYNTAXE

puce MULU <adresse>,Dy





 

Retour NEG NEGate
complément à deux
Monter Descendre

DESCRIPTION
puce Retourne le complement à deux (négatif) d'un opérande.

MODES D'ADRESSAGE
puce Dn, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
X0 si le l'adresse effective vaut 0, sinon 1
NStandard
ZStandard
Vstandard
C0 si le l'adresse effective vaut 0, sinon 1

SYNTAXE

puce NEG <adresse>





 

Retour NEGX NEGate eXtended
complément à deux étendu
Monter Descendre

DESCRIPTION
puce .

MODES D'ADRESSAGE
puce Dn, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

MODES D'ADRESSAGE
puce Dn, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
puce Inchangés

SYNTAXE
puce NEGX <adresse>





 

Retour SUB SUBtract
soustraction d'opérandes
Monter Descendre

DESCRIPTION
puce Soustrait un opérande à une autre, dont un au moins est un registre de données et enregistre le résultat dans celui de destination.

puce Il y a quatre instructions de soustraction et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction SUB en permanence.

MODES D'ADRESSAGE (registre comme opérande de destination)
puce Dn, An, (An), -(An), (An)+, y(An), x(An,Xn.s), y, z, y(PC), x(PC,Xn.s), #xyz

Pour le mode d'adressage An, la taille des donnée doit être un mot ou un mot long.

MODES D'ADRESSAGE (adresse effective comme opérande de destination)
puce (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
X1 si le résultat de la soustraction dépasse 32 bits, sinon 0
NStandard
ZStandard
VStandard
C1 si le résultat dépasse 32 bits, sinon 0

SYNTAXES
puce SUB <adresse>,Dy
puce SUB Dx,<adresse>





 

Retour SUBA SUBtract Address
soustraction d'adresse
Monter Descendre

DESCRIPTION
puce Soustrait un opérande à un registre d'adresse. Ceci nous permet d'avoir un registre d'adresse comme destination, ce qui n'était pas possible avec l'instruction SUB
Notez que cette instruction modifie les 32 bits du registre d'adresse.
puce Il y a quatre instructions de soustraction et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction SUB en permanence.

MODES D'ADRESSAGE
puce Dn, An, (An), -(An), (An)+, y(An), x(An,Xn.s), y, z, y(PC), x(PC,Xn.s), #xyzyz

TAILLE DES DONNÉES
puce Mot / Mot long

INDICATEURS
puce Inchangés

SYNTAXE
puce SUBA <adresse>,An





 

Retour SUBI SUBtract Immediate
soustraction immédiate
Monter Descendre

DESCRIPTION
puce Soustrait une constante à une adresse effective.
puce Il y a quatre instructions de soustraction et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction SUB en permanence.

MODES D'ADRESSAGE
puce Dn, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
X1 si le résultat de la soustraction dépasse 32 bits, sinon 0
NStandard
ZStandard
VStandard
C1 si le résultat dépasse 32 bits, sinon 0

SYNTAXE

puce SUBI #<valeur>,<adresse>





 

Retour SUBQ SUBtract Quick
soustraction rapide
Monter Descendre

DESCRIPTION
puce Soustrais une constante définie sur 3 bits à une adresse effective. Cette constante aura donc comme valeurs possible 0 à 7.
Cette instruction est beaucoup plus rapide que l'instruction SUB.
puce Il y a quatre instructions de soustraction et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction SUB en permanence.

MODES D'ADRESSAGE
puce Dn, An, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
X1 si le résultat de la soustraction dépasse 32 bits, sinon 0
NStandard
ZStandard
VStandard
C1 si le résultat dépasse 32 bits, sinon 0

SYNTAXE

puce SUBQ #<valeur>,<adresse>





 

Retour SUBX SUBtract eXtended
soustraction étendue
Monter Descendre

DESCRIPTION
puce Soustrait un opérande à une autre, dont un au moins est un registre de données et enregistre le résultat dans celui de destination.

puce La seule différence avec l'instruction SUB est que l'indicateur X est lui aussi soustrait au résultat. Donc si celui-ci est posé (=1), le résultat est décrémenté de 1.

puce Il y a quatre instructions de soustraction et l'assembleur livré avec Fargo choisi toujours la bonne, par conséquent vous pouvez utiliser l'instruction SUB en permanence.

MODES D'ADRESSAGE
puce Dn, -(An)

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
X1 si le résultat dépasse 32 bits, sinon 0
NStandard
ZDésarmé si le résultat ne vaut pas 0, sinon inchangé
VStandard
C1 si le résultat dépasse 32 bits, sinon 0

SYNTAXE

puce SUBX Dx,Dy
puce SUBX -(An),-(An)





 

Retour TAS Test And Set
synchronisation de processeurs
Monter Descendre

DESCRIPTION

MODES D'ADRESSAGE

TAILLE DES DONNÉES

INDICATEURS

SYNTAXE




 

Retour TST TeST
test un opérande
Monter

DESCRIPTION
puce Examine un opérande et nous permet de savoir si il est nul ou négatif.

MODES D'ADRESSAGE
puce Dn, (An), (An)+, -(An), y(An), x(An,Xn.s), y, z

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
XInchangé
NStandard
ZStandard
C0
V0

SYNTAXE

puce TST <adresse>





 

 

Lisez la section sur les droits d'auteur et la license d'utilisation avant de distribuer Zguide.

Zguide © 1998, Florian DREVET. Tous droits réservés à l'échelle mondiale