• Aucun résultat trouvé

Architecture et Système: TD 3 Licence Info 2 - Stefano Guerrini et Flavien Breuvart et Lê Thành Dũng Nguyn A.A. 2018–19 - 02/10/2018

N/A
N/A
Protected

Academic year: 2022

Partager "Architecture et Système: TD 3 Licence Info 2 - Stefano Guerrini et Flavien Breuvart et Lê Thành Dũng Nguyn A.A. 2018–19 - 02/10/2018"

Copied!
1
0
0

Texte intégral

(1)

Architecture et Système: TD 3

Licence Info 2 - Stefano Guerrini et Flavien Breuvart et Lê Thành Dũng Nguyễn A.A. 2018–19 - 02/10/2018

Exercice 1. Écrire un petit programme assembleur LC-3 qui:

• mémorise les valeurs de trois constantes c

1

, c

2

et c

3

dans trois emplacements de mémoire avec étiquettes c1, c2 et c3;

• calcule le résultat de (c

1

− c

3

) + 2(c

2

+ 9) − 128 et le mémorise dans un emplacement de mémoire avec étiquette res.

Exercice 2. Écrire un programme assembleur qui vérifie si un caractère mémorisé à l’adresse ch est contenu dans une chaˆıne mémorisé à l’adresse str. Si le caractère n’est pas contenu dans la chaˆıne, le programme termine en mettant -1 dans le registre R0. Sinon, il met dans R0 la position (la distance par rapport au premier caractère de la chaˆıne) de la première occurrence de ch dans la chaˆıne.

Exercice 3. Écrire un programme assembleur qui prend comme entrée un caractère dans un emplacement de mémoire avec étiquette ch et, s’il s’agit d’un caractère alphabétique minuscule, le convertit en majuscule, et vice versa, s’il s’agit d’un caractère alphabétique majuscule, le convertit en minuscule. Par contre, si le caractère n’est pas alphabétique, la routine laisse le caractère inchangé.

NB. On rappelle que les codes des caractères alphabétiques minuscules sont contigus et mé- morisés dans l’ordre alphabétique, entre le code qui correspond au caractère ’a’ et le code qui correspond au caractère ’z’, et que les codes des caractères alphabétiques majuscules sont contigus et mémorisés dans l’ordre alphabétique, entre le code qui correspond au caractère ’A’

et le code qui correspond au caractère ’Z’. Donc, pour vérifier qu’un caractères est minuscule ou majuscule il suffit de vérifier qu’il est bien contenu dans l’intervalle correspondant. Enfin, pour faire la conversion, il suffit de reporter un caractère d’un intervalle à l’autre; par exemple, si x est minuscule (donc ’a’ ≤ x ≤ ’z’), pour obtenir le correspondant caractère majuscule il suffit calculer (x − ’a’) + ’A’.

Suggestion. Mémoriser les valeurs des constantes ’a’, ’z’, ’A’ et ’Z’ dans des emplacement

mémoire.

Références

Documents relatifs

[r]

– La boucle qui commence ligne 3 devrait permettre de trouver le plus grand num´ero des images de la liste pr´ec´edente, mais ne fonctionne pas car la variable index max est remise

Ecrire une interface graphique avec MVC qui permet de gérer un mot à la console : ajout à la fin, insertion, suppression d’un caractère ou d’un morceau, renverser, … Le

Ce code est attribué par l'Insee lors de l'immatriculation ou la déclaration d'activité de l'entreprise, en fonction de l'activité principale déclarée et réellement exercée..

Parmi les présents, nombre de résidents différents ayant chuté au moins une fois au cours de l’année écoulée: 36 Nombre de chutes au cours de l’année écoulée : 133. Nombre

[r]

Les communes, les établissements publics de coopération intercommunale et les syndicats mixtes chargés des services publics de distribution d'eau potable et

L’objectif du probl` eme est d’´ etudier des conditions pour que deux matrices admettent un vecteur propre commun et d’en d´ eduire une forme normale pour des vecteurs propres..