Savoir manipuler les bits d’un octet ou d’un registre est d’un grand intérêt pour le codage des micro contrôleurs.La démonstration qu’en a faite Bertrand est clair et limpide.Excellent choix de sujet de vidéo et bonne continuation.
@franckthourel50183 жыл бұрын
Bonjour, merci infiniment au cousin canadien pour ce retour en arrière de 35 ans. Amitié préhistorique venant de la grotte de Lascaux. Montignac - Lascaux France.
@Electro-Info-Tech3 жыл бұрын
Toute ma jeunesse et mes études... Je pensais ne rien apprendre en regardant cette vidéo et pourtant je viens de découvrir l'intérêt du ou exclusif 👍 Merci 💯
@autocinematon2.057 Жыл бұрын
Bonjour Bertrand.Excellent rappel d’une méthode pour manipuler l’état des bits à l’ intérieur d’un byte.Utilisé aussi ,il me semble pour sortir un byte en série vers une autre entrée sériel.
@frequencecreuse37463 жыл бұрын
Étant un novice ce n'est pas si clair que cela MAIS sa éclaire déja ma lanterne. Merci pour cette explication que je vais revisionné sans tardé et également partir à la pêche au renseignement sur le net.
@alphonsetartempion15633 жыл бұрын
Bonsoir Bertrand Là, je suis dans ma zone de confort et je te remercie pour cette belle mise au point sur le principe du masquage. Je précise, au sens du langage C/C++/Java que les opérateur &&, || sont des opérateur Booléen et s'appliquent à des expressions et dont le résultat est true ou false. Par exemple (1==2) && (2==2) retournera false (1 égale 2 est faux, 2 égale 2 est vrai et faux AND vrai est faux). Les opérateur &, |, ^, ~ (respectivement AND, OR, XOR et NOT) sont des opérateurs binaires ou bit à bit. A cela s'ajoutent des opérateur de décalage binaire, soit à gauche > (avec insertion de 0, cas particulier en Java avec >>> (décalage binaire à droite avec recopie du bit de poids fort)). Le décalage, c'est ce que tu réalises ligne 48 de ton code (kzbin.info/www/bejne/jYTNaH2Zr7eerNU) pour "pousser" le bit de sequences_segments de la position j en position 0 avant de le masquer. J'arrête là, j'ai bien apprécié ta vidéo qui aborde bien le principe masquage. Francis
@etienneguyot90693 жыл бұрын
Salut Bertrand. De grands moments il y a bien longtemps lorsque je me frottais au 6809 à la main (j'en ai même gardé l'habitude de lire son code machine directement...). Époque merveilleuse où l'optimisation du code était la règle pour ne pas gaspiller les ressources et obtenir un programme ultra performant. Par la suite, j'ai un peu tâté du basic, mais j'ai toujours regretté que ce langage simple ne supporte pas les fonctions logiques comme les décalages où les opérations non signées (même sur des versions récentes), ne laissant pas d'autre alternative que de passer en C ou en assembleur... C'est la galère par exemple en VBA pour une application bureautique Micro$oft d'inverser MSB et LSB d'une variable alors qu'en assembleur c'est un jeu d'enfant !
@sockbl8823 жыл бұрын
Toujours du contenu intéressant. Merci
@ElektroLUDIKITS3 жыл бұрын
On fait pas ça avec des feuilles de vigne d'ordinaire ?
@jean-baptisteclaus11453 жыл бұрын
Je ne connaissais pas ce système de masquage, c'est très intéressant, c'est très bien présenté et didactique, comme toujours. Merci Bertrand pour votre travail.
@thierrylhermite1233 жыл бұрын
Cher Jean Baptiste, ce sont de petits cours mais qu'il faut inlassablement répéter aux jeunes qui arrivent. Ils doivent connaitre les bases. D'un autre coté, pour ceux qui savent : c'est un petit rappel jouissif, une récréation agréable des règles que nous finirions même à oublier avant de les partager . . . Merci Bertrand. Bonne soirée E.B : construis nous une petite maquette de registre à décalage Please.
@dinoauci12523 жыл бұрын
Bravo c'est trés clair j'ai enfin compris, Merci
@renelefebvre533 жыл бұрын
Un des avantages du bon vieux Z80 était toutes les instructions pour mettre à 1 ou à zéro chaque bits de chaque registres, ainsi que pouvoir tester chaque bits aussi. Mais ce sont des instructions sur deux octets et il n'y a guère de gain par rapport à un simple OR ou AND sur A suivi d'un JRZ ou JR, NZ ..... Le C64 est avec unZ80, je crois, il serais instructif de faire quelques démo en assembleur sur ce ordinosaure ....:-)
@kanaillaurent5263 жыл бұрын
Super merci ! Résumé et pense-bête que j'applique qui pourrait être utile à d'autres qui fonctionnent comme moi: ET transforme 1 en 0 si masque=0 Quel méchant ce ET il rabaisse tout ! OU transforme 0 en 1 si masque =1. Sympa le OU il encourage ! OuExcl fait clignoter si masque=1.
@MrSebkilou3 жыл бұрын
Cela me rappelle aussi que l’opération XOR était employée sur certains processeurs afin de mettre une variable à zéro (du style XOR a,a). L’opération MOV prenant plus de cycles d’horloge (MOV a,0). Et aussi l’opération SHIFT (que j’utilise toujours en C (>> ou
@pierrebaldellon42073 жыл бұрын
Merci pour cette vidéo.
@Elysian4503 жыл бұрын
J'ai souvent utilisé des masques dans mes programmes, mais je ne les jamais compris de cette façon. Je ne suis pas un débutant, c'est juste que pour bien des fois, j'ai appris en bidouillant. Tes vidéos sont vraiment utiles. T'as pas tout appris ça sur les bancs d'écoles, dit-moi?
3 жыл бұрын
Je faisais de l'électronique bien avant d'atteindre l'université! Mais disons que ça a grandement aidé, particulièrement côté programmation informatique.
@JoZf_Gibson3 жыл бұрын
Merci
@thierrylhermite1233 жыл бұрын
Sympa. Un petit cours sur les registres à décalage de bits serait très utile aussi pour les applications de robotique (plateaux tournants, etc . . .)
3 жыл бұрын
C'est dans les cartons (vidéo de fonctions logiques) pour les prochaines semaines.
@thierrylhermite1233 жыл бұрын
Et "Vive le Québec Libre" mon ami transatlantique. Bises
@thierrylhermite1233 жыл бұрын
D'autant qu'une toute petite maquette montre qu'au bout de 6 pièces : on peut éjecter une anomalie d'un plateau d' trois mâges. Amen EB et bonsoir aux fistons. . .
@bernard831103 жыл бұрын
merci a toi . Il me reste mon vic 20 . peek et poke sont des fonctions de lecture et d'écriture directement dans la mémoire , donc a n'utiliser que lorsque l'on connait le mappage de la mémoire , si non .....
3 жыл бұрын
Tout est "mappé" en mémoire, incluant les ports d'entrée/sortie. On ne s'en sort pas.
@MrSebkilou3 жыл бұрын
Et une des bases de la cryptographie, c’est l’utilisation du ou exclusif (XOR), avec un masque de plusieurs octets (plus le masque est long, plus le message sera difficile à décoder). Si donc on fait l’opération XOR entre un texte et un masque, le résultat est illisible. Si on refait l’opération XOR entre le résultat et ce masque, on retombe sur le texte original. C’est donc un système cryptographique à une clef. Si le texte est plus grand que la clef (masque), on masque en reproduisant plusieurs fois la clef. Si la clef est aussi grande que le texte, il sera impossible de décrypter un message, sauf si bien entendu, la clef est courte et toujours identique, et que le message ne commence toujours pas par le(s) même(s) mots (grossière erreur des allemands avec la machine Enigma, qui, si je me souviens bien, commençaient toujours leurs messages par des indications de météo ou de position, ce qui permettait de retrouver la clef).
@patrickfournier81823 жыл бұрын
Salut ! Petit rappel pour le mot BIT, On ne dit pas UNE mais UN . Donc, rien à voir avec les slips ou autres feuilles de vigne ! 🤣😉
@dawnaur3 жыл бұрын
Bonjour Bertrand, L’explication est bien, mais pour une fois je reste sur ma faim, ce qui n’arrive habituellement pas avec tes vidéos ! Je trouve dommage par exemple de ne pas avoir parlé du fonctionnement des registres des microcontroleur par exemple, en expliquant pourquoi il vaut souvent mieux utiliser les masques que les fonctions toutes faites, ou encore montrer quand c’est la seule façon d’ordonner au microcontrôleur de faire quelque chose, comme par exemple démarrer une conversion de l’adc. D’ailleurs c’est sûrement quelque chose comme ça qui est fait dans ton programme, mais pourquoi ne pas montrer des datasheets qui l’expliquent ? Je suis convaincu que tu peux faire une suite en entrant plus dans les détails qui va intéresser beaucoup de monde et aider à comprendre comment fonctionnent les microcontroleur derrière disons… un analogRead par exemple, en expliquant comment on utilise les masques pour régler les paramètres de conversion, lancer la conversion, vérifier quand elle est terminée, puis récupérer le résultat.
3 жыл бұрын
C'est un cours de programmation d'un microcontrôleur que aurais aimé voir!... La meilleure façon d'apprendre c'est de le mettre soi-même en pratique. Bien sûr, j'aurais pu m'étendre dans les exemples, mais ça aurait à nouveau fait une longue vidéo. Je verrai pour une suite si nécessaire. Merci du commentaire.
@dawnaur3 жыл бұрын
@ Pas en allant jusqu'au cours de programmation, mais en allant plus loin sur l'exemple en montrant quel est le lien avec ce que beaucoup ici ont touché avec arduino. Enfin c'est juste ça, j'avais l'impression que tu t'étais arrêté en route, alors qu'il y a justement un sujet important ici qui peut servir à beaucoup, surtout s'ils veulent comprendre un peu ce qu'ils font avec leur arduino. Justement pour reprendre l'exemple de l'analogread, ce n'est pas vraiment de la programmation, plus pour le coup de la compréhension de comment ça fonctionne sous la machine, que la conversion n'est pas magique, il faut la lancer, on a souvent une possibilité de réglage, la lancer en utilisant un masque et ensuite on utilise encore les masques pour identifier si la conversion est finie, etc...
@dawnaur3 жыл бұрын
@ Et je suis bien d'accord pour le fait de mettre soi même en pratique, mais pour ça il faut présenter le lien, la notion de registres avec un bit dédié à chaque information ou commande par exemple, pour que la curiosité de chacun puisse faire le reste. Sinon, quasiment impossible de deviner si on ne tombe pas dessus
@alphonsetartempion15633 жыл бұрын
Bonjour Dawnaur Dac et Pas Dac. Je m'explique. Pousser le cours de masquage pour le porter sur les registres des MCU est particulièrement intéressant mais trop pointu pour la plupart d'entre nous. Ensuite, il faut faire un choix de matériel. Quel microcontrolleur ? Atmel, Microchip, ST, NXP... Quel modèle ? AVR, PIC, ARM... Pourquoi l'un plutôt qu'un autre ? Et avec des datasheet de la centaine de page, ouf... Bref, de quoi perdre bien du monde là où cette vidéo est assez généraliste et présente le principe du masquage binaire/bit à bit. Cependant, je donne comme exemple la chaîne de AVR Assembleur (kzbin.info/door/r-GMHKqmpC03n6Ajyd_gbg) qui à fait le choix de la plateforme AVR. Allez gonfler ses abonnés ! 29 actuellement... Francis
@felipedelavega11523 жыл бұрын
Bonjour, je ne connais pas grand-chose en informatique mais quand j’ai vu le titre de la vidéo : « allons voir les commentaires ! ». Je n’ai pas été déçu !
3 жыл бұрын
Bit, pas bite!
@bernardbog58083 жыл бұрын
OU EXCL, voilà le summum de la triche possible entre - une réflexion dans le mental conceptuel et son langage écrit - sa traduction dans le langage de programmation Il est bien entendu que si on réfléchit "ou" dans une discussion, et que traduit par une fonction supplémentaire "ou mais" on se retrouve en plein délire du diable. cqfd, le renard a mangé ses poules sans que l'on y voit (c'est la poule blanche ou noire qui est mangée, mais pour lui le petit tourmenteint c'est la rousse).
3 жыл бұрын
Ouf!
@gerardmontessuit78543 жыл бұрын
ce n'est pas le bit 4 qui est changer à17,43 secondes ?
@inotoff3 жыл бұрын
Non c'est bien le bit 3 car en binaire on compte de 0. Un octet (donc huit bits) se compte de bit 0 à bit 7. C'est d'ailleurs un piège quand on déclare des tableaux en C car un tableau de 3 cases sera déclaré tableau[2] et non 3, ce qui ferait 4 cases.
@gerardmontessuit78543 жыл бұрын
@@inotoff Merci je suis tombé dans le panneau!
@pascalvaroquier82763 жыл бұрын
Ou est ce temps ?
3 жыл бұрын
?
@pascalvaroquier82763 жыл бұрын
@ 1984
@pascalvaroquier82763 жыл бұрын
@ c'était une époque de pionniers.
@DSK_ytbe3 жыл бұрын
00:06 si on sait ce que c'est? oui bien sur, ca veut dire remettre son slip quand on quitte un plage naturiste, et ne pas se promener en imperméable devant une école maternelle ^^
3 жыл бұрын
MDR!
@renelefebvre533 жыл бұрын
Je ne peux pas m'en empêcher ..... le masquage de bit ----> instruction SLIP !
@gerardmontessuit78543 жыл бұрын
erreur on commence à zéro!
3 жыл бұрын
0...1...2...3. En informatique, on commence presque toujours à compter à partir de zéro.