L'essentiel d'Assembleur

Manipuler le registre de travail

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Affectez aux registres de travail des valeurs différentes en fonction de la déclaration des variables. Découvrez la nécessité d'aligner les adresses des variables.
04:26

Transcription

Dans cette vidéo, je vais m'appuyer sur le Lab18... et l'objectif va être de comprendre le mécanisme d'affectation des valeurs aux variables. Alors, la déclaration des variables se fait à partir de l'adresse 800 par défaut. si on va regarder dans le datasheet sur le plan mémoire de la RAM. Les variables doivent être ce qu'on appelle alignées, donc padded, de façon à n'avoir que des adresses paires. N'oubliez pas qu'on fonctionne toujours de 2 en 2. On peut insérer une variable à une adresse impaire... mais on perd l'alignement. Après, c'est fini, vous ne pouvez plus rien mettre derrière. En plus, une valeur est toujours précédée d'un #. Alors, regardons un peu le Lab18. Ici, j'ai toujours mis mon include avec la déclaration de mes registres... et puis, il y a un mot clé appelé section qui vous donne certains paramètres. Mais, il faut toujours aller regarder... а l’intérieur de la documentation du compilateur asm. Il s'agit en fait, de l'emplacement mémoire proche des 8ko de RAM directement accessible. Là, vous pouvez créer des variables. Alors, Variable: puis, vous lui dites l'espace que vous voulez lui attribuer. Attention ! C'est forcément deux fois16 bits... parce qu'on ne compte que par adresse de deux. Donc, space 2, c'est le minimum en fait. Après, vous pouvez allouer bien plus. Space 6, space 4, donc 4 words. Ce qui nous amène donc à 16 octets réservés. Dès qu'on met ma variable, space 1, pour le coup, ça va fonctionner, mais, si vous voulez refaire ma variableZ avec un space1 derrière, c'est fini ! Le compilateur vous dit: à partir de là, je ne peux plus rien faire, vous êtes désaligné. Il existe évidemment une fonction dans ASM30, qui permet de réaligner. Alors, après, global reset, on commence avec notre mot dédié, c'est une étiquette. Je le rappelle, vous ne pouvez pas mettre début ici, c'est reset. Là, j'ai lancé le debugger. On va voir un peu ensemble ce que ça peut nous donner, sachant que j'ai déjà préparé le terrain ici. Au niveau de mes variables, je les ai entrées une à une, comme d'habitude en faisant New Watch. Puis, j'ai mis WREG0, WREG2 parce qu'on va en avoir besoin. J'ai lancé le debugger, et puis on y va par pas. Donc, je vais faire un clr de ma variable1, un clr de ma variable2, 3, ma variableX, etc. Vous voyez qu'au fur et à mesure, elle s'initialise. Puis, je peux très bien ne pas nommer du tout et mettre une adresse. Je veux simplement clr la 808. Pas de problème ! Alors attention, pour le coup, ne mettez pas de # devant. # est une valeur, là, c'est une adresse. Ensuite, on initialise donc LATPORT et TRISA, et à partir de là, on va faire un petit calcul. Donc, on va mettre 20 dans W0. Puis, ce W0 qui est WREG, c'est la même chose, il comprend les deux. Le compilateur fait un gros effort et va mettre ça dans variable1. Donc, vous voyez, là je passe à 20. Après, je vais incrémenter variable1. Ma variable1, je vais la remettre dans W0, pourquoi pas ? Ensuite, je vais mettre W0 dans ma variable 2, soyons fou ! Je décrémente de 1 ma variable2, et là, je suis à 20. Puis, à partir de là, je vais additionner variable2 avec WREG, donc, ça nous donne bien 41, que j'ai écrit à côté. Vous avez donc WREG qu'on peut, par exemple, mettre dans variable3 sans problème. Après, vous pouvez mettre des valeurs qui ne dépassent pas 16 bits. Donc 65.000, on est bon, sachant que la limite supérieure est 65.536. On met donc W2, puis W2, je la mets dans ma variable X, W2, je la mets aussi à l'adresse 808, cette fois-ci, pourquoi pas ! Voilà un peu comment ça se passe à l’intérieur. Donc, vous avez vu des différents types d'affectation.

L'essentiel d'Assembleur

Plongez-vous dans le langage bas niveau, nommé Assembleur. Abordez les notions de jeu d'instructions, de pipeline, de registres, de mode d’adressage, de compteur de programme, etc.

4h52 (57 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :26 sept. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !