• Aucun résultat trouvé

Exercice 2 1- Ecrire un programme en assembleur qui permet d’ordonner le contenu de trois adresses et $3002 dans un ordre croissant

N/A
N/A
Protected

Academic year: 2022

Partager "Exercice 2 1- Ecrire un programme en assembleur qui permet d’ordonner le contenu de trois adresses et $3002 dans un ordre croissant"

Copied!
2
0
0

Texte intégral

(1)

TDARCHITECTURE DES ORDINATEURS Année Universitaire : 2019-2020

SMI-S4 1/2 I.OUADNOUNI

Programmation Assembleur 68HC11 Série de TD n°01

Exercice 1 : Opérations sur les registres d’index 1- En partant du programme suivant :

ORG $F054 LDS #$7F88 LDY #$AB63 LDAB #$36 ABY

PSHY

SUBB #$2A

a) Après l'exécution du programme, quel est le contenu des registres :

B = ____ Y = _______ SP = _____ PC = _______ CCR : N = __ Z = __

b) Quels sont les parties modifiées après l’exécution de PSHY et quels sont leurs nouveaux contenus.

2- Quel est le contenu de X après l’exécution du programme suivant : LDS #$ 2000

PSHA PSHY TSX PULX X = ______

Exercice 2

1- Ecrire un programme en assembleur qui permet d’ordonner le contenu de trois adresses

$ 3000, $3001 et $3002 dans un ordre croissant.

2- Ecrire un programme qui permet de faire la multiplication du contenu de deux adresses mémoires $2000 et $2001 et mettre le résultat dans $4000 et $4001.

Exercice 3: Opérations sur les tableaux

Ecrire un programme en assembleur permettant d’effectuer les opérations suivantes sur un tableau de taille 15, dont le premier élément est placé à l’adresse $D000 :

 Calculer la moyenne du tableau et la sauvegarder à l’adresse $D020 ;

 Trier le tableau ;

 Rechercher une valeur sur le tableau stockée dans l’adresse $5000 ;

 Rechercher la valeur maximale du tableau et la sauvegarder à l’adresse $D021 ;

 Rechercher la valeur minimale du tableau et la sauvegarder à l’adresse $D022 ;

(2)

TDARCHITECTURE DES ORDINATEURS Année Universitaire : 2019-2020

SMI-S4 2/2 I.OUADNOUNI

Exercice 4

Ecrire un programme qui détermine, dans un tableau d’entiers TAB de longueur N, le nombre maximum d’éléments consécutifs identiques.

Exemple : si le tableau contient {0, 1, 1, 2, 3, 3, 3, 3, 4, 5, 5, 5}, le résultat est 4.

Exercice 5

1-Ecrire un programme qui recherche la valeur maximale d’une matrice 4*4, après l’avoir remplie aux adresses $2000 à $200F.

2-Ecrivez un programme qui inverse l'ordre des caractères dans une chaîne de neuf caractères.

Chaque caractère est équivalent à un octet. Le programme doit vérifier si une chaîne est un palindrome.

Exercice 6

Ecrire un programme en assembleur permettant de calculer le nième terme de la suite de Fibonnacci définie comme suit :

U0=1 U1=1

Un=Un-1+Un-2

La valeur de n est contenue dans l’adresse $2000, et le résultat sur 16 bits doit être stocké dans les adresses $2001 et $2002, Votre programme doit vérifier que n < 25, pour qu’il n’y ait pas dépassement.

Références

Documents relatifs

Ecrire un programme qui lit deux entiers et renvoie la valeur absolue de la diff´ ´ erence de ceux-ci.. Exercice

Ecrire un programme qui lit deux variables de type enti` ´ ere, les affiche, ´ echange leur contenu et les affiche de nouveau.. Exercice

L’ann´ ee courante sera mise dans une variable.. Exercice

Ecrire un programme qui lit deux variables de type enti` ´ ere, les affiche, ´ echange leur contenu et les affiche de nouveau.. Exercice

Une fois arrivé à l’adresse « SUITE_Fbnc », on ajoute au compteur programme le contenu de « W », ce qui permet de sauter à la ligne qui nous intéresse, dont

; l’instruction qui va suivre se trouvera à cette adresse goto debut ; saut à l’étiquette marquant le début du programme org 0x10 ; cette adresse doit être supérieure

Ecrire une fonction f qui prend comme paramètre un entier n et retourne True si n’est parfait, et retourne False si n n’est

- Ecrire une fonction récursive qui calcule le PGCD de deux entiers positifs. On suppose qu’on ne peut effectuer que