• Aucun résultat trouvé

Architecture et Système: TP 1 Licence Info 2 - Stefano Guerrini et Flavien Breuvart, Lê Thành Dũng Nguyn et Rado Rakotonarivo A.A. 2018–19 - 11/09/2018

N/A
N/A
Protected

Academic year: 2022

Partager "Architecture et Système: TP 1 Licence Info 2 - Stefano Guerrini et Flavien Breuvart, Lê Thành Dũng Nguyn et Rado Rakotonarivo A.A. 2018–19 - 11/09/2018"

Copied!
2
0
0

Texte intégral

(1)

Architecture et Système: TP 1

Licence Info 2 - Stefano Guerrini et Flavien Breuvart, Lê Thành Dũng Nguyễn et Rado Rakotonarivo

A.A. 2018–19 - 11/09/2018

Exercice 1. Vérifier si le programme assembleur lc3as, le simulateur lc3sim et l’interface graphiquelc3sim-tksont installés sur la machine. Sinon, procéder avec une installation locale dans un répertoire personnel. Les programmes sont téléchargeables à l’URL :

http://highered.mheducation.com/sites/0072467509/student_view0/lc-3_simulator.html Ouvrir l’interface graphique du programme assembleur et observer la fenêtre principale.

La partie haute montre les registres généraux et le registresPC,IRetPSR. Sur la droite, en bas, un rectangleCCmontre les valeurs des trois bitsN,ZetP; ce rectangle afficheZEROsiZest à 1, NEGATIVEsiNest à 1 etPOSITIVEsiPest à 1. Sur la gauche, en bas, on peut voir un rectangle qui affiche l’adresse d’un registre courant et un rectangle avec sa valeur en hexadécimal : le registre courant est marqué par une barre jaune dans la fenêtre de la mémoire.

Au centre de la fenêtre on peut voir (en jaune sur écran bleu) le contenu de la mémoire. Chaque ligne correspond à un registre dont l’interface affiche son adresse, sa valeur en hexadécimal et l’interprétation (le code assembleur) correspondant aux contenu du registre. Certaines registres ont une étiquette, qui correspond à celle associé à l’instruction assembleur correspondant.

Si le registre à été rempli avec une valeur en utilisant la directive .FILL, la fenêtre affiche cette directive et la valeur associée.

Exercice 2. Ouvrir un éditeur de texte pour l’écriture de programmes et copier le code suivant dans un fichier, par exemple, nommé exemple.asm.

.ORIG x3000

LD R0, VAL1 ADD R0, R0, R0 LD R7, VAL2 ADD R7, R7, R7 ADD R2, R0, R7 HALT

VAL1 .FILL 1 .BLKW 3 VAL2 .FILL -1 .END

Transformer le code assembleur contenu dans le fichier exemple.asm en code machine avec le programme assembleur, avec la commande

lc3as exemple.asm

Le code machine obtenu sera mémorisé dans le fichier exemple.obj. En utilisant le bouton

“browse” du simulateur, charger le fichier du code machine exemple.obj dans le simulateur et l’exécuter pas à pas.

Pendant l’exécution, remarquer les valeur contenues dans les registres des instructions et leur évolution. Notamment:

(2)

1. Quelle est la valeur contenue dans les 5 bits les plus faibles du code hexadécimal de l’instruction LD R0, VAL1? Comparer cette valeur avec la différence entre l’adresse du registre avec étiquette VAL1 et l’adresse de cette instruction. Qu’est-ce qu’on peut en conclure ? Pourquoi cette petite différence entre les valeurs ?

2. Observer les différences entre les codes binaires des trois instructionsADDdu programme.

Qu’est-ce qu’on peut en déduire ?

3. Les registres VAL1 et VAL2 ne sont pas consécutifs. Pourquoi ? Quelle est la distance entre eux ?

4. Remarquer l’évolution de la valeur de CC durant l’exécution pas à pas du programme.

5. Remarquer les opérations d’addition qui doublent les valeurs des registresR0 etR7. Quel est leur effet au niveau de la représentation binaire des valeurs de ces registres ?

Exercice 3. Écrire, transformer en code machine et exécuter avec le simulateur les pro- grammes assembleur vu en TD.

Exercice 4. Réfléchir à comment réaliser une boucle “while” en LC-3. Par exemple, écrire une simple boucle qui itère N fois (la valeur contenue dans le registre N) l’opération que ajoute 1 au registre R1.

2

Références

Documents relatifs

Bordures : http://www.teacherspayteachers.com/Store/Baldo-Alvarez...

Cette fonction prend un tableau t en argument et retourne un nouveau tableau, contenant les mêmes éléments que t (avec mêmes multiplicités), trié par ordre croissant.. C’est ce

Cela pose évidemment problème si le nœud père x est lui-même plein, auquel cas, il convient de le séparer en deux nouveaux nœuds x 1 et x 2 et, dans le grand-père, de remplacer x

Nous allons maintenant faire varier la valeur de la résistance afin de vérifier que la tension aux bornes du générateur reste constante ; pour cela définir un nouveau profil

Les cosses de branchement de la batterie étant mal serrées et oxydées, une résistance parasite r = 0,5 Ω Ω Ω Ω (due à l'oxydation et au serrage) se retrouve en série

[r]

-le registre de langue familier, s’emploie en famille, entre amis .ex : ça, boulot, papa - Le registre de langue courant qui s’emploie régulièrement dans des textes,

• Partage d’expérience – Cas particulier d’un essai clinique dans le cadre exclusif d’une urgence médicale – Aline MEZERGUES. Vendredi 9 novembre 2018 de 09h30