<-Précédent Retour à l'accueil Contact : etienne"point"sauvage"at"gmail.com Suivant->
  1. Des files, piles et autres PEPS

    Assembleur : K7, 10Kte et autres oldies

    Résumé des épisodes précédents : KarlOS vous permet maintenant de transformer votre merveilleux PC dernier cri en montre à quartz, ce qui est quand même la classe ultime. Mais si nous nous sommes donnés cette peine, c'est, paraît-il, pour jouer avec des disquettes. Mais si, ces vieux machins tout déglingués : ici, ou encore .

  1. Des files, des piles, du peps !
  2. Car il est nécessaire que je vous entretienne de certaines bricoles. Les habitués à mon style auront repéré que je vais parler théorie, les autres, vous voilà informés.

    Mes chers concitoyens mondiaux, que se passe-t-il quand on écrit, inconscient des conséquences de nos actes : push UnTruc ? On met, par cette commande, quelque chose sur la pile. On empile. Trouvez-vous un stock d'assiettes en carton, pas de plastique ça pompe les réserves de pétrole, trouvez-vous donc un paquet de ces gais compagnons des piques-niques en carton, on va faire un T.P. .

    Ayé ?

    Bien. Quand on fait un push Bidule, vous écrivez "Bidule" sur une assiette et vous l'empilez. Pour un pop, vous prenez la première assiette de la pile et vous lisez ce qu'il y a écrit dessus. Allons-y :

    push toto
    push titi
    pop
    push biniou
    pop
    pop
    push tata
    push tirelipinpon
    pop
    push tagada
    pop

    Et il vous reste un certain nombre d'assiettes dans la pile, qu'on peut estimer facilement. Cette chose assez idiote étant faite, vous savez maintenant ce qu'est une pile, c'est certain. Les Angles et Saxes disent qu'une pile est en FILO, Sophie. First In, Last Out. Premier Entré, Dernier Sorti, PEDS.

    Bon, si au lieu d'en faire une pile, nos assiettes, on les rangeait dans un lave-vaisselle ? Oui, c'est curieux pour des assiettes en carton, mais arrêtez de m'interrompre sans arrêt, c'est suffisamment pénible comme cela. Attention, je parle des laves-vaisselle industriels, ceux de la cantine par exemple. On met une assiette d'un côté, et elle ressort de l'autre. Ce lave-vaisselle est une file. FIFO, First In, First Out. Premier entré, Premier Sorti : PEPS.

    Maintenant, en informatique. Un processeur dispose d'instructions pour gérer une pile, en gros push et pop que nous utilisons déjà. Seulement, cette pile, par défaut, fonctionne à l'envers, oh la bonne blague. Elle est accrochée au plafond, et elle descend : elle avance vers les adresses décroissantes. Et donc, elle peut descendre, première limite, jusqu'au plancher. Sauf qu'elle ne descendra jamais jusqu'au plancher. Parce qu'avant d'atteindre le plancher, elle va nous atteindre, nous. Avez-vous déjà eu une erreur "Stack Overflow" ? C'est typiquement ça : on s'est cogné à la pile, assomé, au revoir ; on est en train d'empiler sur la mémoire utilisée par le programme, et ça, c'est totalement pas groovy.

    Et si je vous cause de la file, c'est parce que les données des ports sont échangées en file.