exercices - chapitre 2 - representation des informations

publicité
Architecture des ordinateurs – UV 25971
Informatique Cycle A1
Regroupement 2 – Révisions
Année Universitaire 2004 – 2005
Centre Régional du CNAM de la Réunion
Durée : 2 heures
Rédacteur : Ivan KURZWEG - CNAM Réunion - [email protected]
Exercices du site d’aide au tutorat.
Page 1 / 5
EXERCICES - CHAPITRE 2 - REPRESENTATION DES
INFORMATIONS
Exercice 1 : Conversions entre base 2 ou 16 et 10
Convertir en base 10 les nombres suivants :
(0)2, (0)16, (1)2, (1)16, (10)2, (10)16, (12)16, (101)2, (BAFFE)16, (BAG)16
Convertir en bases 2 et 16 les nombres suivants (donnés en base 10) :
0, 1, 2, 3, 4, 8, 10, 15, 16, 31, 32, 128, 255
Exercice 2 : Conversions entre base 2 et 16.
Convertir (101011110000)2 en base 16.
Convertir (BAFFE)16 en base 2.
Exercice 3 : Entiers signés
 Valeur absolue signée
Donnez la valeur absolue signée sur 8 bits des nombres décimaux suivants : 23, -23, 48, -65
 Complément à 2
Donnez la valeur en complément à 2sur 8 bits des nombres décimaux suivants : 23, 23, -48, -65
Exercice 4 : Flottants
Convertissez les valeurs suivantes en IEEE754 Simple précision : 128, -32.75, 18.125, 0.0625
Quelles sont les valeurs des nombres suivant représentés en virgule flottant simple précision :
1011 1101 0100 0000 0000 0000 0000 0000
0101 0101 0110 0000 0000 0000 0000 0000
1100 0001 1111 0000 0000 0000 0000 0000
0011 1010 1000 0000 0000 0000 0000 0000
Page 2 / 5
EXERCICES - CHAPITRE 3 - DU PROBLEME AU LANGAGE
MACHINE
RAPPELS
La machine admet des instructions sur 32 bits ou sur 16 bits.
Le format d’une instruction 32 bits est la suivante :
où




COP est le Code OPération codé sur 5 bits
m est le mode d’adressage codé sur 3 bits
Reg1et Reg2 codent un numéro de registre sur 4 bits (de 0000 à 1111)
champ2 est une valeur immédiate, une adresse mémoire ou un déplacement codé sur
16 bits
Les modes d’adressage; le champ m
La machine supporte les modes d’adressage mémoire suivants :
Immédiat
Opérande = valeur immédiate
m = 000
Direct
Opérande = [adresse]
m = 001
Relatif
Opérande = [[CO] + déplacement]
m = 010
Indirect
Opérande = [[adresse]]
m = 011
Basé
Opérande = [[RB] + déplacement]
m = 100
Indexé
Opérande = [[RIX] + déplacement]
m = 101
Pour ces valeurs de m comprises entre 0 et 5, le code opération travaille sur deux opérandes;


le premier est un registre dont le numéro est codé par le champ Reg1;
le deuxième est soit une valeur immédiate, soit une adresse déduite de Champ2 et m.
Les valeurs m = 110 et m = 111 sont utilisées pour les opérations sur des registres :
Page 3 / 5


110 : la valeur champ2 ainsi que celle du champ Reg2 sont non significatives; le Code
Opération travaille sur un seul opérande registre Reg1
111 : le code opération travaille sur deux registres Reg1 et Reg2.
Les valeurs des champs Reg
Les valeurs Reg(1ou2) = 0000 à 1011 codent les numéros de registres généraux R0 à R11.
Les autres valeurs sont réservées pour coder les autres registres du processeur. Ainsi :




Reg = 1100 registre CO
Reg = 1101 registre RB
Reg = 1110 registre RIX
Reg = 1111 registre PSW
Si le champ est mis à xxxx, cela signifie que le champ est invalide pour cette instruction.
Dans le cas particulier des opérations d’entrées-sorties, le champ Reg1 code un numéro de
port, pouvant aller de 0 à 15.
Les instructions
nb : par souci de clarté les codes opérations sont donnés non pas avec leur valeur numérique
mais en utilisant le mnémonique correspondant dans le langage d'assemblage.
La tableau ci-dessous donne la correspondance mnémonique – valeur du code binaire
Mnémonique
Code binaire
Mnémonique
Code binaire
LOAD
00000
JMPP
01101
STORE
00001
JMPO
01110
SWAP
00010
JMPN
01111
PUSH
00011
JMPC
10000
POP
00100
JMPZ
10001
ADD
00101
CALL
10010
NEG
00110
RET
10011
INCO
00111
EI
10100
AND
01000
DI
10101
OR
01001
OUT
10110
XOR
01010
IN
10111
NOT
01011
NOP
11000
JMP
01100
MUL
11001
Page 4 / 5
Exercice 1.Manipulation des modes d’adressages
Soient les registres et la mémoire adressable par mot à un instant t :
Adresse
Contenu
Registre
Contenu
100
a
RB
1
101
b
RIX
100
102
c
103
d
CO
50
200
300
201
304
Rsp
500
300
a
301
b
PSW
00000xxxxxxx
302
g
Soient les opérations suivantes; pour chacune d’elles, représentez l’évolution des registres du
processeur ainsi que celle de la mémoire et de la pile.
LOAD 001 0000 xxxx (100)10
LOAD 000 0000 xxxx (100)10
LOAD 011 0000 xxxx (200)10
PUSH 110 0000 xxxx
LOAD 100 0000 xxxx (200)10
NEG 110 0000 xxxx
ADD 000 0000 xxxx (304)10
PUSH 110 0000 xxxx
LOAD 101 0000 xxxx (1)10
POP 001 xxxx xxxx (202)10
POP 011 xxxx xxxx (201)10
Exercice 4. Langage d'assemblage et fonctionnement de l'assembleur
Ecrire en langage d'assemblage un petit programme permettant de calculer le périmètre d'un
polygone régulier formé de n cotés, chacun des cotés mesurant lg centimètres. Donnez le code
machine généré en fournissant la table des symboles construite.
Page 5 / 5
Téléchargement