Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Addition
ADD rx, ry, rz rx ry+rz
ADD rx, ry, #i rx ry+i
Soustraction
SUB rx, ry, rz rx ry-rz
SUB rx, ry, #i rx ry-i
Multiplication
MUL rx, ry, rz rx ry x rz
MUL rx, ry, #i rx ry x i
cours Architecture des ordinateurs: programmation assembleur
Opérations arithmétiques et logiques
9
Division
DIV rx, ry, rz DIV rx, ry, #i
Et logique
AND rx, ry, rz AND rx, ry, #i
Ou logique
OR rx, ry, rz OR rx, ry, #i
Ou exlusif
XOR rx, ry, rz XOR rx, ry, #i
Complémentaire
NOT rx, ry NOT rx, #i
Opposé arithmétique
NEGcours
rx,Architecture
ry NEG rx, #i programmation assembleur
des ordinateurs:
Décalages et rotations
10
JMP Adr
PC<-Adr : saut inconditionnel à Adr (jump)
JZ rx, Adr
PC<-Adr si rx=0 (jump if zero)
JNZ rx, Adr
PC<-Adr si rx≠0 (jump if not zero)
JGT rx, Adr
PC<-Adr si rx>0 (jump if greater than zero)
CZR rx
Copy bit Z into registre
CNR rx
Copy bit N into registre
CVR rx
Copy bit V into registre
Exemple :
Les instructions de copie permettent de tester une condition dans
structure conditionnelle.
CVR ro
JNZ ro, etiquette_debordement
//On continue s’il n’y a pas débordement
Exemple :
ADD r0, r1, r2
00000 0 00000 00001 0000000000000010
XOR r30, r10, #0x3B2A
00110 1 11110 01010 0011101100101010
Le premier correspond à ADD r0,r1,r2 : on remplace le premier champ par les 4 bits
donnant le codage de ADD (0000), puis chacun des trois champs de données contient
le numéro en binaire du registre correspondant. Pour finir, on met un 0 dans le bit
indiquant si la dernière valeur est immédiate (car ici c’est un registre). Le second
exemple est similaire : 0110 est le code de XOR, le bit suivant est à 1 pour indiquer
une valeur immédiate comme troisième donnée, et les trois champs suivants précisent
les données (registre r30, codé 11110 ; registre r10, codé 01010 ; valeur hexadécimale
3b2a en binaire).
cours Architecture des ordinateurs: programmation assembleur
Format des instructions
19
Exemple
MVI r6, #0x56ac3
MVI r1,#0
Ici : LDB r2, (r0)
JZ r2, fin
ADD r1, r1, #1
ADD r0, r0 #1
JMP ici
Fin :
Version 1 : Version 2 :
MVI r1,#0
MVI r3,#0
LDW r2, (r0)
Ici : SUB r4,r3,#32
JZ r4, Fin
ADD r3,r3,#1
LLS r2,#1
CCR r5
SUB r6, r5,#1
JNZ r6, ici
ADD r1, r1, #1
JMP ici
Fin : cours Architecture des ordinateurs: programmation assembleur
Exercice 6
40