>Lancer Mars.jar, dont l’application est codée en JAVA.
>Ouvrir le code assembleur “row-major.asm”
>Assembler le code (Run>Assemble)
L’icone permet de lancer l’exécution du programme jusqu’à la fin. En utilisant
cette fonction vous observez le surlignement jaune qui montre l’adresse du programme
en cours d’exécution. Les valeurs du programme qui sont calculées apparaissent dans
le segment de donnée.
L’icone permet de faire un reset du programme et des valeurs de l’ensemble des
registres du simulateur.
L’icone permet d’exécuter une instruction après l’autre. Autrement dit, de faire de
l’exécution pas à pas. Cette fonction est complété par l’icône , qui permet de
revenir d’un pas : “single-step backwards”.
Le processeur utilise un adressage par octet. Vous pouvez changer le format de
visualisation du contenu des adresses et des adresses en hexadécimal ou en décimal :
.
Dans le logiciel MARS, ajuster le « run speed » : afin d’avoir le temps
de voir l’évolution de l’algorithme en fonction du temps.
Dans la présentation du “segment de code” (Text segment en anglais) vous avez les colonnes
suivantes :
Q1. Précisez ce que chacune des colonnes contiennent. Vous prendrez un exemple en
étudiant la ligne de code 41 du programme. Vous vous aiderez de la documentation en
annexe. Tout doit pouvoir être justifié :
loop: mult $s0, $t1
Q2. Quel est le registre du microprocesseur qui spécifie l’adresse de la prochaine
instruction à exécuter dans le logiciel. Quelle est la valeur de ce registre au Reset? Est-ce
logique par rapport à l’implantation de votre programme en mémoire ?
Q3. Qu’est ce que le « text segment » et le « data segment » ?
Q4. Expliquez les cases :
dans le « data segment ».
Q5. Sachant que le processeur MIPS32 est un processeur 32 bits, quel est la taille d’un
mot mémoire ? Quelle quantité d’information le processeur sera-t-il capable de stocker en un
seul cycle ?
Depuis l’aide, (Help>Help>Basic_Instructions) vous trouverez l’ensemble des instructions
disponibles dans ce microprocesseur.