Td4 : programmation en 6800 - informatique industrielle - té

Informatique Industrielle : TD4 : Programmation en 6800

Télécharger PDF

Exercices de Programmation en Assembleur 6800

Exercice 01

La valeur hexadécimale 23 est rangée dans la case mémoire [0012].

1. Chargez cette valeur dans l’accumulateur A en utilisant le mode d’adressage Immédiat puis Direct.

2. Additionnez avec la valeur immédiate 35 et rangez le résultat dans l’accumulateur A.

3. Interchangez le contenu de l’accumulateur A et B.

Exercice 02

On appelle « masquage » l’annulation d’un ou plusieurs bits dans un mot mémoire.

1. Réaliser un code qui permet de masquer la partie basse (les 04 bits de poids faible) du mot binaire suivant : « 10101010 ».

2. Réaliser un code qui permet de mettre à 1 la partie basse du mot binaire précédent.

Exercice 03

On veut écrire un programme qui détermine combien de 1 existent dans le mot binaire « 11110001 » se trouvant à l’adresse mémoire [0000].

1. Donner l’algorithme correspondant.

2. Traduire la solution en programme Assembleur.

Exercice 04

On veut écrire un programme qui permet de transférer un bloc de données stocké en mémoire de l’adresse [0000] jusqu’à l’adresse [0003] vers l’emplacement mémoire allant de [0008] jusqu’à [000B].

1. Proposer un organigramme qui décrit la solution.

2. Traduire la solution en programme Assembleur.

3. Proposer un deuxième programme qui utilise la pile.

Exercice 05

On veut écrire un programme en Assembleur 6800 qui permet de calculer quelques termes de la série de Fibonacci, définie par :

Un+2 = Un+1 + Un avec U1 = 1 et U2 = 2.

1. Donner un organigramme qui décrit la solution.

2. Écrire un programme qui calcule les 10 premiers termes de la série de Fibonacci, rangés à partir de l’adresse mémoire [000A].

Exercice 06

Réaliser un code qui compare les nombres X et Y et range la valeur :

- S dans la case mémoire [0001] si X > Y,

- E dans [0002] si X = Y,

- I dans [0003] si X < Y.

[Remarque : S signifie Supérieur, I signifie Inférieur, E signifie Égale]

Exemples d’application :

X = 0F, Y = 1F

X = 0F, Y = 0F

X = DF, Y = FF

Exercice 07

I - Réaliser un programme qui :

1. Range les nombres décimaux 25, 15 et 05 respectivement aux adresses [00F1], [00F4] et [00F6].

2. Cherche la valeur maximale de ces nombres, le MAX sera rangé à l’adresse [00FF].

II - Réaliser un programme qui permet de trier par ordre croissant les nombres précédents dans les cases mémoires [0000], [0001] et [0002].

FAQ

1. Qu’est-ce qu’un mode d’adressage en Assembleur 6800 ?

Les modes d’adressage permettent de spécifier la façon dont une donnée est accédée en mémoire. Le mode Immédiat utilise directement la valeur dans l’instruction, tandis que le mode Direct accède à une adresse mémoire donnée.

2. Comment fonctionne le masquage de bits ?

Le masquage consiste à utiliser une opération logique (comme AND ou OR) avec un masque binaire pour annuler ou activer certains bits d’un mot mémoire. Par exemple, pour masquer les 4 bits de poids faible de « 10101010 », on utilise un masque « 11110000 » avec une opération AND.

3. Pourquoi utiliser la pile dans un programme Assembleur ?

La pile permet de stocker temporairement des données ou des adresses et est utile pour les appels de sous-programmes, la sauvegarde du contexte ou la gestion des interruptions. Elle suit le principe LIFO (Last In, First Out), facilitant l’organisation des données.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne