L'essentiel d'Assembleur

Aborder la notion de pile LIFO

Testez gratuitement nos 1257 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Mettez en évidence la notion de pointeur de pile de type LIFO. Ce pointeur est utilisé pour des instructions de type call par exemple.
04:34

Transcription

Alors, dans cette vidéo j'ai ouvert le Lab 4 comme à l'habitude, et nous avons notre fichier objectif. Alors, les objectifs sont les suivants : utiliser un sous-programme et les instructions supplémentaires qui sont call et retour au sous-programme. Alors, l'instruction call permet en fait d’éclaircir le programme en permettant de découper. Ça revient à faire l'équivalent de fonction, on va dire en C. Alors, que se passe-t-il au niveau des étapes ? Eh bien, on ajoute l'adresse courante dans la pile hardware. Dans le cas de pic, 10F200 on n’a que deux niveaux maximum. On se connecte vers l'étiquette associée au call. On traite les instructions comprises entre l'étiquette et le RETLW. Et puis, après nous faisons le chargement depuis la pile de l'adresse courante appelée avant la lecture de l'instruction call. Donc en fait on vidange la pile. Et on se connecte à l'instruction qui suit en fait le call que l'on a traité précédemment. Alors, attention, cette instruction attend un paramètre. Mais vous pouvez mettre ce que vous voulez derrière. En fait, il sait par définition où se rebrancher et où est associé le call de retour. Alors, vous verrez qu’en fait, dans le simulateur, on peut vérifier l'état de la pile. Mais physiquement, ce registre, STKPTR, n'existe pas. Si on regarde donc dans les registres SFR, vous voyez : nulle part on ne parle de STAG pointer, simplement. Donc, voilà. Je vous propose de regarder tout de suite notre premier programme. Alors, j'ai créé une fonction call temporisation une seconde imbriquée, où là en fait, je fais le chargement. Dans un premier temps, il n'est pas du tout imbriqué. En fait j'ai mis en commentaire la deuxième partie. Donc, il va faire appel à toute cette partie-là de notre programme. Et puis, il va revenir se loguer au tout début. Et on va être reparti. Donc, je propose directement donc, une simulation. Donc là, le simulateur s'est arrêté à notre break-point. Et puis on regarde pas à pas. Que se passe-t-il ? Et puis, j'ai mis la variable STKPTR dans SFR en fait, vous voyez, elle est disponible, mais seulement pour la simulation. Je répète : elle n'est pas implémentée dans notre microcontrôleur. Donc, à partir de là, je continue et amorce le programme, vous voyez, hop j'ai sauté. Je vais là, je continue et puis bon eh bien, là, je suis parti pour ma décrémentation, hein, que l'on a vu précédemment. Donc, là je vais directement à la sortie de ce programme. Voilà. Et que se passe-t-il ? Eh bien, je vais me brancher donc à l'adresse suivante de notre call, grâce à notre instruction return lw. Donc à partir de là, on est reparti pour un tour. Et puis, vous voyez alors, ici, SKTPTR, hop ! je suis à un. Donc, je suis à un seul niveau. Tout va bien. Alors maintenant, je vais m'amuser à me mettre un call dans un call. Donc, cette fois-ci je fais quoi ? En fait je charge ça, et puis après je m'amuse simplement à aller rechercher, en fait, cette instruction qui est ici. Ça n'a strictement aucun intérêt, mais d'un point de vue pratique, dirais-je, c'est purement pédagogique. Pour vous montrer que, en fait, le pointeur de pile va bien, en fait, s'incrémenter. Alors, je relance, je recompile. Et puis, je suis reparti. Donc, je vais me mettre ici. Donc j'ai mon STKPTR qui est là. Là donc, je suis au niveau un. Et là, un nouveau call, donc je suis au niveau deux. Donc là je passe toute la partie de ma tempo, je reviens donc, au RETLW, donc j'ai mis comme paramètre zéro, mais peu importe, pour cette famille de pic, de toute façon c'est marqué à l'intérieur du datasheet. Et à partir de là donc, qu'est-ce que je fais ? Je dépile à nouveau. Et je reviens à mon programme principal. Et on est reparti, ainsi de suite.

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 !