Тёмный

EB_ 

Électro-Bidouilleur
Подписаться 80 тыс.
Просмотров 42 тыс.
50% 1

Опубликовано:

 

9 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 139   
@laurentthommet8313
@laurentthommet8313 4 года назад
Pour moi clairement l'assembleur est la mère de tous les languages. Merci pour ce flash back. Cordialement Laurent
@renelefebvre53
@renelefebvre53 4 года назад
J'ai écrit , il y a 15 ans, du code ASM pour lire les informations de télécommandes IR exotiques. Indispensable, quand on a besoin de maîtriser le timing à la micro-seconde près. Maintenant pour gérer une liste doublement chaînée de pointeurs sur fonctions ou le parcours récursif d'un arbre, l'assembleur est difficilement envisageable. Je garde une grande admiration pour les génies qui ont programmer le module d’atterrissage du LEM, avec très peu de mémoire ! Chapeau bas, comme on dit !
@denistauvel514
@denistauvel514 4 года назад
C'est appréciable de voir enfin quelqu'un qui parle de langage machine. Personnellement je suis un espèce de dinosaure, pour programmer les Pics, je préfère nettement l'assembleur au C. En revanche, j'ai essayé de me mettre à l'assembleur sur l'AtMega, mais il faut reconnaître que c'est beaucoup plus compliqué, d'autant que ceux-ci ont beaucoup de registres de travail et pas d'accès direct des instructions aux emplacements mémoire.
@dominiquemoreau4270
@dominiquemoreau4270 4 года назад
Super présentation! :-) Merci. Tu m'as bien rappelé ma jeunesse quand je travaillais comme "technicien-bricoleur en électronique" (sans prétentions). Sitôt rentré chez moi après le travail, je courrais vers mon ordi et je ne lâchais plus ni le 8088 ni MASM de toute la soirée, sauf éventuellement pour l'apéro ou le souper avec madame ;-) La belle époque !
@sfecardio3721
@sfecardio3721 4 года назад
J'y retrouve des astuces que j'utilisais pour programmer du code temps réel. Par exemple la multiplication par 10. Et bien, avec un compilateur C bien optimisé, il utilisait ces astuces (pour autant que l'on mettait les bonnes options de compilation: optimiser la taille code source, ou la vitesse d'exécution). Tu aurais dû parler de la puissance des calculs via les registres (les opérations directes sur mémoire RAM étant 2 à 4 fois plus lente que la même opération travaillant directement sur les registres) . Le nombre de cycles utilisés étant bien plus réduit en travaillant directement dans les registres. Bien qu'en C, il y a aussi la directive register. Et je pense que seuls les personnes ayant pratiqué l'ASM comprennent bien le langage C (qui pour moi est le plus proche de l'ASM. J'en veux pour preuve les pointeurs). Qui peux comprendre la stack sans avoir programmé en ASM ? Un des processeurs les plus épatants à programmer était le 68000, bien plus riche que le 80x86, qui exigeait l'utilisation de registres spécifiques, alors que le 68000 acceptait tous les registres. Bon, en fait, je ne programme plus du tout en ASM, la puissance des processeurs ayant été multiplié par au moins 100 depuis mon début de carrière. Je ne rencontre plus de problème pour réaliser des logiciels temps réel en C. Mais encore une fois, je soutiens que lorsque l'on connaît le langage machine, on optimise mieux ses logiciels, quels que soient les langages utilisés. Je suis dégouté quand je vois que les langages modernes utilisent 4 bytes pour une déclaration de variable booléenne ! Ou des programmeurs qui déclarent inutilement toutes leurs variables en int. Parfois, je me dit que je pourrais faire du code plus rapide avec un vieux processeur, qu'avec un jeune codeur utilisant un processeur beaucoup plus puissant...
4 года назад
Tout à fait d'accord. Je n'ai pas couvert la pile (stack) dans la vidéo, puisque ça tombe plus dans l'architecture que dans l'assembleur proprement dit.Et il aurait alors aussi fallu couvrir les interruptions.
@cafebouazizi
@cafebouazizi 4 года назад
Je rajoute que la pile (stack) est incontournable pour le passage de paramètres aux sous-programmes, la compréhension de son fonctionnement est incontournable pour maîtriser l'appel de routines écrites dans un autre langage surtout si l'ordre d'empilement n'est pas le même. quoi de mieux que de jouer un peu avec les push/pop. ici c'est exemple où la connaissance de l'assembleur permet de facilité la compréhension de mécanismes utilisés dans des langages dit de haut niveau (y compris le langage C).
@francoisbasquin6974
@francoisbasquin6974 4 года назад
Ah, les cours d’assembleur 68000 à l’université sur un vieux serveur Ampex. C’est comme ça que j’ai découvert UNIX; on éditait en mode ligne avec “ed”, on assemblait avec “as” et on faisait un “od” (octal dump) pour voir le résultat. Inutile de dire que ça décourageait beaucoup de monde!!
@jfmahe1407
@jfmahe1407 4 года назад
Merci Bertrand. Moi aussi ça me rappelle mes codages en 6502, Z80, 80x86 et enfin celui que j'ai le plus apprécié: le 68000.
@claudetheroux3438
@claudetheroux3438 4 года назад
Bonjour! Merci tout ce contenu. Pour multiplier par 10, j'utilise la séquence suivante: MOV A,B ; B dans A RL A ; rotate A a gauche RL A ; rotate A a gauche ADD A,B ; ajouter B a A RL A ; rotate A => A = b * 10 A la prochaine!
4 года назад
Oui, c'est bien, ça sauve une instruction. Comme quoi il y a souvent amélioration possible!
@cafebouazizi
@cafebouazizi 4 года назад
mm, ceci me pousse à réfléchir "qu'aurait produit un compilateur " pour l'instruction haut niveau "resultat = A*B;" pour un processeur qui ne possède pas d'instructions de multiplication ? Aurait-il généré un code optimisé dont l'optimisation est basé sur une remarque comme vous le faite (sachant que ceci nécessite des testes supplémentaires), ou tout simplement il aurait généré bêtement une boucle d'addition successive de l'un des opérandes avec comme compteur de boule l'autre opérande. Merci Claude pour ta remarque, et merci Bertrand pour cette vidéo instructive et nostalgique (^^).
@eolienelec8405
@eolienelec8405 4 года назад
Merci de m'avoir rajeuni de 40 ans avec cette très très bonne vidéo qui devrais être vue par le plus grand nombre.
@etienneguyot9069
@etienneguyot9069 4 года назад
Merci, merci, merci ! Vieux souvenirs de mes débuts sur un 2650 Signetics. Mais mon préféré fut le 6809, j'adorais (et j'adore toujours) ce microprocesseur qui m'a embarqué, depuis le premier composant acheté, dans le monde informatique. J'ai toujours cette machine qui tourne maintenant sous Flex 09. Plus tard, professionnellement, j'ai dû mélanger de l'assembleur (FFT rapide), du Pascal et du C sur ce même 6809... Pas facile de coder une fonction Atan en virgule flottante en assembleur !... D'où le recourt aux bibliothèques en Pascal. Mais pour une multiplication Sin/Cos des échantillons, l'assembleur est redoutable d'efficacité (il n'y avait qu'environ 700µs entre deux interruptions du convertisseur ADC, avec un temps de cycle d'une micro-seconde, fallait pas chômer...)
@patricegonnin5796
@patricegonnin5796 4 года назад
Toute ma jeunesse sur 8085 d'Intel, Z80 de Zilog avec le ZX81 auquel j'avais ajouté le son avec un AY3-8912 j'avais même écrit un programme affichant les accords de guitare et les jouant. J'ai également étudié le 68000 de Motorola. C'était la belle époque. Encore merci pour cette super vidéo nostalgique.
@petimorillo
@petimorillo 4 года назад
Merci de reparler de l’assembleur! Pour ma part j’ai pratiqué sur pic16f84. Programmer avec les instructions mêmes du processeur est vraiment très intéressant.
@yveslesage8525
@yveslesage8525 4 года назад
Pour multiplier par 10 en ASM, mieux vaut faire x2, x2, +1, x2 = (2*2+1)*2 que x2, x2, x2, +1, +1 =(2*2*2+1+1).... on y gagne une addition...! = réduction taille du code et vitesse d'exécution augmentée. (Juste un souvenir de mes années Z80). Bravo pour cette vidéo, en particulier pour l'inclusion de l'ASM dans du C et l'analyse du code ASM généré par le compilateur C. ASM et C ne sont pas effectivement concurrents, à chacun son job !
4 года назад
C'est bon ça! Pourquoi ne pas y avoir pensé avant! Toutes ces années à avoir gaspillé une cycle d'horloge... Je ne dormirai plus maintenant! ;-))
@Frogger-ux1wl
@Frogger-ux1wl 4 года назад
ça me rappel l'époque ou je programmait en assembleur sur le 6502 :-) merci encore pour cette vidéo :-)
@jclm8049
@jclm8049 4 года назад
Bjr à tous de Fr, EXCELLENT !!! J'ai commencé aussi par le 6502 et le Z80 (carte MPF-1P , format livre), merci Bertrand pour cette VDO qui manquera pas d'éveiller la curiosité des programmeurs amateurs.
@jopi7401
@jopi7401 4 года назад
Bonjour et merci pour cette excellente vidéo. J'ai effectivement commencé par le langage d'assemblage sur les fameux pic 16f84 et j'avoue avoir eu beaucoup de difficultés au début. Mais c'est très formateur et très proche de la puce.. Le problème, c'est qu'à chaque fois que l'on change de microcontrôleur, il faut tout réapprendre et les datasheets sont ... très longues. Alors je suis passé à autre chose : Raspberry pi et Arduino. Le python est une solution de facilité ainsi que le pseudo-langage arduino (C et C++). La datasheet de l'ATméga 328 est très longue... Toutefois, je reconnais que la maîtrise d'un langage "assembleur" permet de mieux comprendre ce que fait un programme de plus haut niveau. Encore merci.
@bipbip6523
@bipbip6523 4 года назад
Bonjour Déjà un grand merci pour cette vidéo, qui est très bien expliqué, on aurais pu citer Monsieur Bigonoff Qui a fait un superbe boulot sur l’apprentissage des Pics16Fxxxx et Pic18Fxxxx en ASM L'assembleur qui est un langage de bas niveau, et le sommet de tous les langages de haut niveau Et ne peut être égalé. (désolé pour les adeptes des langages de haut niveaux.) Je pratique que de l'assembleur pour mes microcontrôleurs, ce qui m'a permit de construire mes bibliothèques, et d'en comprendre leurs fonctionnement. Un désassembleur sert à trouver une erreur, ou modifier un code source qui n'existe plus. Certain l'utilise à des fins malhonnête pour cassé des clé ou numéro de série,... bref ... chose à pas faire. A+
@thierrysauvage562
@thierrysauvage562 4 года назад
Bonjour Bertrand Un grand merci pour cette excellente vidéo, qui m'a permit de comprendre beaucoup de choses. Thierry
@mpm990
@mpm990 4 года назад
Et ben ! , enfin une vidéo qui m'explique clairement ce que c'est que l’assembleur . merci
@etmoimeme
@etmoimeme 4 года назад
Même si je suis content d'avoir appris à programmer en assembleur, et avoir fait quelques projets pro avec, je ne souhaite plus l'utiliser qu'en dernier recours : ce n'est pas portable, quasi impossible de travailler en équipe, super dur à maintenir et surtout (le plus gros point faible à mon avis) : peu réutilisable (car pas portable d'un micro à l'autre). Je tiens absolument à réutiliser le plus possible de code car un code réutilisé est un code déjà debuggué (ou en tout cas qui a moins de bugs qu'un code neuf)
@bardoubruno498
@bardoubruno498 4 года назад
Coucou, on va pas se mentir, je n'ai même pas eu dans l'idée une milliseconde dans une absence de réalisme, de tenter le langage assembleur. Cela dit, quelle claque que cette introduction au langage assembleur ! A la fois ça démystifie, mais en même temps montre toute la complexité de l'informatique. J'apprécie beaucoup cette vidéo, parce qu'elle raconte quelquechose auquel je n'aurais pas eu accés (comprendre le langage assembleur). Donc si elle ne me donne pas envie de pratiquer, elle me donne au moins le goût de comprendre et appréhender le langage assembleur. MERCI !!!!!!
@equinoxxee
@equinoxxee 4 года назад
Bonjour Bertrand et merci pour ta vidéo. J'ai commencé à programmer il y a 25 ans en assembleur sur les PIC et depuis je programme toujours en assembleur pour les choses pas trop compliqué sur les PIC. Je trouve que c'est un langage précis et prévisible. Sinon pour le projets plus ambitieux je programme en C
@claude60290
@claude60290 4 года назад
merci pour cette tres bonne video...que de souvenirs .....j ai fait un peu de langage assembleur sur 6502 il y a plusieurs dizaine d annees merci encore
@dominiquemoreau4270
@dominiquemoreau4270 4 года назад
Le CBM64 en était équipé :-)
@jean-louisbezombes7135
@jean-louisbezombes7135 4 года назад
Moi aussi j'ai programmé en l'assembleur sur 6502 .... en 1978 pour mon projet de fin détudes en BTS sur KIM1. En fait il n'y avait même pas d'assembleur, on programmait directement en Hexadécimal !
@jean-marcservat6291
@jean-marcservat6291 4 года назад
Merci pour cette vidéo. Vieux souvenir du 6502... L’assembleur est très formateur... programmer à bas niveau nécessite du temps, mais le code résultant est court et très rapide... donc utile si on manque de ressources, c’est utile. Mais la loi de Moore fait que la ressource hardware coûte moins cher que le salaire du programmeur...
@kaourantperennou8810
@kaourantperennou8810 4 года назад
Très enrichissant, merci. Comptez-vous faire une autre vidéo de ce type, si oui j'ai déjà hâte?
@pcdwarf4787
@pcdwarf4787 4 года назад
Je l'assembleur, j'en ai fait à l'école. (sur motorola 6811 et intel 251). Mais depuis j'ai toujours trouvé que gcc produisait de l'assembleur de qualité, très optimisé (bravo si vous faites mieux et sans bug/effets de bords) L’intérêt pour moi est essentiellement d'imaginer ce que fait le le compilateur pour avoir une idée du nombre de cycles correspondant à ce que j'écris. Bref, l'assembleur c'est intéressant de savoir que ça existe, d'en faire un peu à l'école et d'y jeter un oeil de temps à autre. Mais je n'ai jamais trouvé que ça convienne mieux à de la production que du code C Concernant la "propreté" l'argument n'est valable que tant qu'il s'agit d'une simple procédure. Pour la doc du atmega328, je la connais presque par coeur. (bien obligé) mais par contre, j'ai jamais fait une ligne d'assembleur sur ce micro. (a noter que je n'emploie pas les librairies arduino mais uniquement avr-gcc + make)
@dawnaur
@dawnaur 4 года назад
Pourtant Bertrand à donné une des raisons: maîtriser des timings précis, ce qui est souvent nécessaire pour pas mal d'applications, et que l'on ne peut généralement pas obtenir en C. Biensûr, en réalité on n'utilise généralement qu'une section ASM dans du code en C. Et encore... j'ai encore vu sur des projets actuels des fichiers asm entiers, qui avaient une bonne raison d'être là.
@pcdwarf4787
@pcdwarf4787 4 года назад
@@dawnaur Et bien hors situation très spécifique, je pense qu'en général c'est le contraire. Que quasiment tout est faisable sans écrire une ligne d'assembleur. Autant c'est important de produire du code rapide, autant, il est extrêmement rare que j'ai besoin d'un timing si précis que le nombre exact de cycles d'horloge en devienne réellement important. Je n'ai encore jamais rencontré de cas où je soit réellement obligé de faire ça. Et quand j'ai cru l'être, j'ai toujours trouvé une astuce pour l'éviter.
@dawnaur
@dawnaur 4 года назад
@@pcdwarf4787 Le contraire de quoi ? Je pense que vous avez mal compris mon commentaire. Ensuite oui, quasiment tout est faisable sans écrire une ligne d'assembleur. Personne n'a dit le contraire, mais ce qui importe ici, c'est le "quasiment". L'"astuce" n'est possible que quand ce n'est pas un vrai besoin, ou quand on a assez de marge en puissance de calcul pour se permettre de faire autrement, en gâchant des ressources. En dehors de ça, dans un milieu plus industriel, ça peut aussi être une façon de s'assurer d'une constance dans certains traitements, ce qui peut devenir important pour l'assurance qualité, ou même nécessaire en fonction du matériel autour du microcontrôleur.
@Frogger-ux1wl
@Frogger-ux1wl 4 года назад
pour ma part l'assembleur c'etait fin années 80 debut 90. et sur les processeurs de l'époque tu etait bien obligé d'optimiser ton code. 😊 et puis comme dit dans la vidéo tu es tellement content lorsque tu trouve des astuces de programmation. comme détourner des zones mémoire ou des instruction et obtenir autre chose grace a ta créativité. et a l'epoque tu était dans ton coin avec des revues. pas de net. pas de tuto aussi accessible qu'aujourd'hui. une autre epoque. ARG chui vieux
@pcdwarf4787
@pcdwarf4787 4 года назад
@@dawnaur Le contraire de "souvent nécessaire pour pas mal d'applications, et que l'on ne peut généralement pas obtenir en C". Mais visiblement vous être d'accord sur le coté spécifique et surtout "limite de capacité". Disons qu'il n'y a pas tellement de marge entre pas faisable en C et pas faisable du tout. Sinon par "astuce" j'entendais un détournement de périphériques qui travaillent toujours parfaitement synchrones, comme par exemple le registre à décalage du SPI pour générer des signaux rapides.
@bobo8354
@bobo8354 4 года назад
salut Bertrand, tu viens de me plonger dans de vieux souvenirs ou , a l’époque , je m’étais amusé a faire en "langage machine" pas en assembleur ( sur Z80) le même petit programme que je faisais en basic . Resultat : pour l’exécution de la même fonction : 15 min en basic 2 sec en langage machine..... je penses que ça se passe de tout comme,taire ^^ Bonne continuation F1RIP
@crystalgayleaddict
@crystalgayleaddict 4 года назад
Bonjour, ah oui l'assembleur ca rappele le bon vieux temps, et en effet c'est toujours de rigueur pour les micro-controleurs. Ca réveil ma passion pour la collection des vieux micros. Peut-être, probablement, connais tu la chaine " the 8 Bits Guy", je viens de découvrir par hasard ce projet (abouti) très enthousiasmant, the Gigatron TTL computer ! Un ordinateur 8 bits sans microprocesseur, tout en logique TTL! C'est CPU de type RISC, peut d'inscructions, mais ca semble assez rapide! J'ai écrit pour en commander un, ca vient des pays bas.
4 года назад
Je connais en effet 8-bit Guy et j'ai vu le Gigatron TTL. Il n'y a pas de CPU proprement dit, mais il y a tout de même un EPROM qui ajoute de l'intelligence et simplifie grandement le circuit.
@dawnaur
@dawnaur 4 года назад
ça fait des années que je veux en commander un !
@Fred63B
@Fred63B 4 года назад
Cela nous ramène quelques années en arrière, merci Bertrand
@michellagarde5762
@michellagarde5762 4 года назад
Bravo, bravo et encore bravo pour cette vidéo. je me suis amusé à désassembler des EEPROM dans le but de les reprogrammer. C'est un excellent exercice pour comprendre comment le MCU ou le microprocesseur travaille et, se servir de certaines instructions pour rédiger des routines soi-même. j'espère que tu feras d'autres vidéos sur l'assembleur, notamment pour des routines qui se répètent dans des programmes différents les uns des autres. BRAVO
@benhur9624
@benhur9624 4 года назад
Passionnant ! J'aurais aimé voir quelques exemples d'instructions assembleur dans du C. 👍👍👍
@thierryfournier3014
@thierryfournier3014 4 года назад
Il n'y a qu'un électronicien pour se rendre compte que le C est un langage de haut niveau ! Mes collègues amateur de Python et autre PHP ne sont pas d'accord :-)
4 года назад
Sempiternel futile débat!
@ggousier
@ggousier 4 года назад
C'est l'approche aujourd'hui qui a changé. Et cela se comprend avec l'évolution du matériel. Avec les nouvelles architectures tu n'as plus vraiment besoin d'optimisation aux petits oignons. Tu ne travailles plus avec quelques ko ou Mo de mémoire mais avec des Go. Les problématiques ont également changé et se sont diversifiées. PHP c'est un langage serveur web et Python un couteau suisse. Un dev web par exemple aujourd'hui n'a plus besoin de connaître toutes les entrailles de sa machine. Les connaître et les comprendre sera toujours un plus mais pas une finalité pour lui.
@sebastienghangha3024
@sebastienghangha3024 4 года назад
sans même être électronicien (je consulte des datasheets pour comprendre le sens anode/cathode d'une led smd donc je suis une quille) ayant grandi avec un amiga 500 (68x POWAAAAAA ^^) je comprend que l'asm est le langage le plus proche de la machine (quoique le C était déjà répandu dans le monde Amiga), C rajoute une couche d'abstraction VS l'asm, python est bien largement plus haut niveau .. mais ... question de néophyte .... le cobol se situe ou ? de mon point de vue ayant travaillé jeune dans l'info j'ai croisé des "barbus" surtout dans le domaine bancaire .. c'est un langage "de bas niveau" mais sur une architecture particulière... je me trompe ? dans tous les cas merci à Électro-Bidouilleur de vulgariser l'électro/info
@jean-claudepoltro1432
@jean-claudepoltro1432 4 года назад
Le C : un langage moyen niveau :)
@koffiflaimoiye5276
@koffiflaimoiye5276 8 месяцев назад
Merci beaucoup Monsieur.
@toughcookie128
@toughcookie128 4 года назад
Ça me rappelle de bons souvenirs quand je programmais en assembleur 6502 avec mon apple II+ 48k de Ram. Pour économiser la mémoire il etait possible de cacher une nstruction à l'intérieur d'une autre instruction. Les premiers pas de l'optimisation! Aujourd'hui je programme en C#, la Cadillac des langages à mon humble avis. Pourquoi desassembler un programme? Aujourd'hui c'est totalement inutile jadis pour cracker des jeux 😉
@hadireg
@hadireg 4 года назад
j'étais bon en assembleurs intel & motorola 8bit, qd j'ai fait du C ensuite c'était un jeu d'enfant surtout niveau pointeurs qui effrayaient bcp d'étudiants en Informatique. la belle époque... j'ai bcp amélioré ma compréhension en faisant du reverse engineering pour faire des générateurs de clés des sharewares qui m'intéressaient sans en faire de profits, pur plaisir de cracker la logique. pas nombreux de victimes de Java ont connu ça :p ah oui pour la maquette motorola, on devait entrer les instructions mnémo en leur code hexa, on retient mieux ainsi les instructions simple ou à plusieurs opérandes attendus
@tootitoota
@tootitoota 4 года назад
Pour ce qui est de l'assembleur, cela me rappelle mes études où j'obtimaisai du code source en prenant compte le temps de réponse des mémoires (registre, cachés, mémoires, mémoires virtuelles, ....) , les prédictions de branchement, et les réorganisations des instructions lorsque le microprocesseur était un superscalaire, à oui j'avais oublié le pipeline. Je précise que c'était sur des processeurs puissant du style Alpha, UltraSparc, Mips, .... Il est vrai que l'on gagné 30 à 40 % de temps de calcul. Mais le problème, est que dans ma branche actuel : le logiciel embarqué critiques, nous utilisons pas l'assembleur pour plusieurs choses : - le langage est trop lié au processeur et donc souvent la plateforme est choisi en même temps que l'écriture du code donc il nous faut un langage de haut pour que l'on puisse éxecuter les tests sur un PC. -Un autre grief aux langages d'assembleur est que l'on est toujours obligé d'utiliser des sauts et des branchements conditionnel ou pas. Or ceci rende le code illisible et on casse le flux de données. On appelle cela dans le jargon un code spaghetti. Et cela est interdit par les normes de développement des autorités. Donc on utilise pas le goto dans les langages de haut niveaux. - en dernier les optimisations des compilateurs actuel produise quand même un code machine assez bien optimisé
4 года назад
Pour être un peu original, je n'ai pas fait mes premiers pas en assembleur sur 6502, mais sur le Saturn 4 bits à 1MHz qui équipait la série de calculatrices HP48. J'avais développé un jeu de voitures à 2 joueurs et scrolling vertical, le tout en 4 niveaux de gris. L'efficacité du langage était telle qu'il était possible de faire clignoter l'écran assez vite pour simuler cela sur un simple écran noir et blanc. En ce temps-là, on savait rire!
4 года назад
Ma première programmation en ASM fut sur un microprocesseur de 1 bit! J'aurais dû mentionner cela dans la vidéo...
4 года назад
@ difficile à battre, je m'incline!
@jean-pierredesoza2340
@jean-pierredesoza2340 4 года назад
Pour ceux mis en appétit par cette belle présentation, mais qui ont plutôt un "background" 6502, je recommande la chaîne de Ben Eater. Il commence son exposé, avec une plaquette de connexion vide, avec le 6502 planté dessus, puis complète le circuit jusqu'a afficher, sur un afficheur LCD, le fameux "Hello, world!" au bout de 6 videos. Mais son astuce de génie, c'est de commencer par cabler en dur l'opcode du NOP sur le bus de données puis de suivre pas à pas la séquence de reset, le démarrage de la CPU. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-LnzuMJLZRdU.html
4 года назад
Oui, l'astuce du NOP câblé, c'est une excellente idée, aussi pour tester le bus d'adresse.
@danielblaze4112
@danielblaze4112 4 года назад
Eh bien moi je n'ai jamais programmé en assembleur, je ne connais pas le langage machine mais j'apprécie votre vidéo !!
@streamCatcher007
@streamCatcher007 3 года назад
Merci pour votre vidéo !
@user-yc1cu3ev5r
@user-yc1cu3ev5r 3 года назад
Merci pour votre explication prof
@_hackwell
@_hackwell 4 года назад
L'assembleur est aussi indispensable au bidouilleur qui fait un peu de reverse engineering et ça continuera encore longtemps :-) bon le code généré par le désassembleur est souvent assez compliqué à interpreter car il n'a pas été écrit par un humain mais généré par un compilateur C ou autre donc très fouillis. Mais on peut faire des choses assez bluffantes et en apprendre beaucoup. J'ai beaucoup plus souvent pris mon pied avec l'asm qu'avec d'autres langages :-)
@dawnaur
@dawnaur 4 года назад
Vidéo bien intéressante, que ce soit niveau explication comme illustration. D'ailleurs, un des autres exemples était cette fichue librairie TVout, qui était partiellement codée en assembleur justement pour maintenir des timings précis. Cependant, je ne suis pas vraiment d'accord sur le fait d'appeler le C un langage de haut niveau. S'il est plus haut niveau que l'assembleur (forcément), ça reste tout de même un des langages de plus bas niveau !
@cyrilv826
@cyrilv826 4 года назад
Salut très bonne vidéo et pou les personnes encore sceptique Bigonoff à fait un très beau cours gratuit sur la programmation des microcontrôleurs PIC en assembleur ;)
@turbolenza35
@turbolenza35 4 года назад
Super vidéo !! J'ai toujours voulu voir une video comme ça sur l'assembleur
@abdel-hadikaddour8400
@abdel-hadikaddour8400 4 года назад
Excellent tutoriels, bravo , chapeau
@aronmeren8558
@aronmeren8558 Год назад
Splendide. Bonjour de Belgique. PS: A quand une intro/un cours de FORTH?
@patrickmaissa9075
@patrickmaissa9075 2 года назад
Excellent pour ma culture générale ! mais ça dépasse très largement mes compétences... Je bidouille l'électronique sans utilisation des microcontrôleurs sans Arduino.... etc Peut-être un jour... pas pour l'instant, il me reste beaucoup à apprendre sur les bases des composants actifs et passifs et des possibilités qu'ils m'offrent. Merci pour la vidéo Cordialement Patrick
@yvesmahieu794
@yvesmahieu794 4 года назад
Super didactique. Merci de ce partage de savoir.
@safsouf1
@safsouf1 3 года назад
De nos jours avec les micros un peu complexe par exemple à base de ARM. L'assembleur est intéressant pas pour le développement d'application, mais dans des cas pointus de débogages pour connaitre l'origine d'un Fault. Il peut aussi être utilisé pour des benchmarks pour optimiser des accès en vue de voir le comportement du cœur et des bus telle que AHB, AXI etc .. Dans mon cas, dans mon boulot, j'utilise l'assembleur pour les cas cités précédemment.
@marccremon6295
@marccremon6295 4 года назад
très bonne présentation de l'assembleur , pour ma part j'ai débuté en programmant pour 8080 et 6800 en assembleur dans les années 70/80 , à l'époque j'avais l'habitude de programmer en basic, la différence de vitesse d'exécution était flagrante . Il est vrai que la programmation en assembleur est plus contraignante et longue mais lorsque on a contraintes de temps d'exécution , il faut se jeter dans le bain.Je ne sais pas si les rudiments de la programmation en assembleur sont enseignés aux étudiants. merci.
@laurentthommet8313
@laurentthommet8313 4 года назад
Pour répondre à votre question... Mes deux fils ont fait des études en informatique ( en France) et ils ont à peine effleuré le sujet... A priori par manque de temps... c'est dommage à mon avis.... Cordialement
@marccremon6295
@marccremon6295 4 года назад
merci pour votre réponse ,effectivement, c'est bien dommage car c'est la base du fonctionnement . Mais c'est devenu une règle , ne vous occupez pas de savoir comment ça fonctionne ......
@nasmRE
@nasmRE 4 года назад
C'est en effet très triste on nous apprend un pseudo arm au lycée et en DUT, perso' j'essaye d'enseigner l'assembleur sur ma chaîne dans le but de l'orienter vers les domaines où elle est encore très utile : l'exploitation de binaires et le reverse engineering.
@dofeeeeee
@dofeeeeee 4 года назад
Merci pour la vidéo, j'avais justement envie de programmer en ASM pour comprendre le fonctionnement des CPU, et pour répondre à 25:55, ce serait pour passer d'un jeu d'instruction à un autre pour avoir une compatibilité, meme si pas optimisé, comme pour faire tournée Linux sûr un processeur Risc-V, étant à ce que j'ai vus fait en partie d'assembleur, une optimisation peut être faite plus tard.
@RealJacques
@RealJacques 3 года назад
J’ai fait beaucoup de basic au début des années 80, le assembleur est toujours resté assez ésotérique pour moi. Merci pour tes explications.
@futurizonfr3368
@futurizonfr3368 4 года назад
L'assembleur est le langage le plus proche du langage machine et donc le plus puissant et le plus rapide par contre, même si il est très simple, il impose de réaliser des programmes très long. Perso j'ai commencé la programmation par l'assembleur sur Amiga 500+ et j'ai adoré.
@dbenoa753
@dbenoa753 2 года назад
J' ai écris un program (Pic16F) en assembleur qui à l'aide d'un comparateur devais lire a l'intérieur d'une ligne vidéo (ntsc) à un endroit précis. Un interupt étais géneré une ligne à l'avance.. Sur la ligne suivante à 4 endroit précis et selon le comparateur compter ou le signal vidéo était blanc (plus que .97 volt) la section de code qui comptait les positifs devaient le faire en 6 instructions avant de passer à la section suivante. Possible seulement en assembleur. Aujourd'hui on prendrait un micro plus rapide.
@etienneguyot9069
@etienneguyot9069 2 года назад
J'ai fait un truc du même genre sur un signal Secam, avec un 6802 histoire de recaler un retard pseudo aléatoire... D'autre utilisait un 68705P3... Motorola a frisé la rupture de stock à cette époque !
@ElectroLIB
@ElectroLIB 4 года назад
Wow! excelent vidéo! merci!
@electronlibre7544
@electronlibre7544 4 года назад
Salut Bertrand. Très bonne vidéo. Quand je commence à patauger dans un projet, quelques lignes ASM me sauvent.
@jean-claudepoltro1432
@jean-claudepoltro1432 4 года назад
Comment des langages comme C peut faire du code source pour pleins de type d'assembleur ? Ils ont appris chacune ? (Pour les PC)
4 года назад
Bien oui!
@HOLLYWOODlosANGELES
@HOLLYWOODlosANGELES 4 года назад
De bons rappels. Merci.
@kouassidonaldkonan7993
@kouassidonaldkonan7993 4 месяца назад
Bonjour monsieur . Peut-on avoir l'interface ide de programmation ?
@nfrancoe
@nfrancoe 2 года назад
Moi, la programmation assembleur, je préfère de beaucoup à la programmation haut niveau.... Quand le temps le permet...
@marcrives279
@marcrives279 4 года назад
Si je retenais une chose, c’est la possibilité de faire des sous parties critiques d’un programme de haut niveau en assembleur. On a ainsi le meilleur des deux mondes, la maîtrise totale quand c’est indispensable, une programmation plus simple ailleurs. Une remarque toutefois, le C permet très bien de manipuler directement les registres du processeur, sans passer en assembleur. Conséquemment, j’ai utilisé la doc technique de l’ATMega328P à plusieurs reprises, sans jamais avoir écrit de langage machine. Enfin, Il ne faut pas négliger les progrès faits par les compilateurs (optimisation de la performance, taille du code). Sur Arduino, j’ai dû reprendre du code ancien, inchangé de quelques années (RFlink, pour ne pas le citer) ... parce qu’il bouclait 20% trop vite à présent!
4 года назад
Lorsque vous faites du C pour ne changer que les valeurs des registres, c'est de l'assembleur que vous faites! ;-)
@fantv525
@fantv525 Год назад
C'est crai que le code assembleur est très beau. Et puis certaines très grandes entreprises paieraient une fortune pour trouver une personne sachant coder en Assembleur pour modifier le driver d'un peripherique qu'ils utilisent depuis des dizaines d'années.
@nailuj45
@nailuj45 4 года назад
pourquoi désassemblé du code assembleur ? car il son a la base de tout les driver sous windows et pas que, pour faire simple, pour chercher des faille dans des programme ou des protocole.
@CaptainDangeax
@CaptainDangeax 4 года назад
Je bricole un projet d'ordinateur 8 bits. Dessus, un PIC16F876 qui s'occupe des E/S : clavier et souris PS/2, port joystick et paddle. Je le programmerai en C parce que l'ASM microchip j'aime pas. Par contre, le processeur central c'est une Atmel AT89LP51 et lui je le programmerai en assembleur parce que c'est plus rapide et l'assembleur de ce microcontrôlleur est vraiment sympa et facile.
@patricegonnin5796
@patricegonnin5796 4 года назад
Bonjour, Après cette belle présentation du langage assembleur, pourquoi ne pas réaliser une petite bidouille avec un AY3-8912, histoire d'ajouter le son sur une carte microprocesseur?
4 года назад
Je fais déjà beaucoup de rétro.... Vous verrez d'ailleurs une vidéo sur le SP0256-AL2 bientôt.
@LASSAKRI-Abdelali
@LASSAKRI-Abdelali 4 года назад
merci capitan...
@Electro_Mic
@Electro_Mic 4 года назад
Bonsoir ou bonjour Électro-Bidouilleur. Si vous deviez reprendre tout à zéro, quel langage d'assembleur apprendriez-vous en premier ? Sur le même registre, connaissez-vous un livre pour débuter avec ce langage ? Avec plus de 37 000 abonnés, je me doute bien que vous ne pouvez pas répondre à tout le monde, mais je tente ma chance quand même. Vos vidéos me sont bien utiles, ceci dit je n'ai pas encore le niveau pour tout comprendre, j'en suis même très loin, c'est pour cette raison que d'apprendre un peu la programmation serait bien je pense, alors autant demander conseil à un professionnel. Merci pour votre chaine. Bonne continuation.
4 года назад
Pourquoi ne pas poser vos questions sur le forum Électro-Bidouilleur? 1100 inscrits qui peuvent répondre. En effet, je n'ai pas le temps pour répondre en longueur. Merci.
@Electro_Mic
@Electro_Mic 4 года назад
@ : Bonsoir Électro-Bidouilleur, je viens de m'inscrire à l'instant. Mon inscription est en attente. Merci pour votre réponse.
@robinp.9886
@robinp.9886 4 года назад
Tout ça me rappelle les cours de bigonoff et la programmation des pics 16F84 pour les petits projets et les 16F877 pour ceux plus importants
@yesno6042
@yesno6042 3 года назад
MERCI !!
@alastavi9630
@alastavi9630 4 года назад
C'est beaucoup utilisé aussi en analyse de malware/virus.
@ericmez8050
@ericmez8050 4 года назад
salut, chapeau , belle présentation , simple complet :) merci
@christian0306
@christian0306 4 года назад
merci beaucoup
@musagainstnos
@musagainstnos 4 года назад
Merci !
@erwanmizenver8153
@erwanmizenver8153 4 года назад
Ca me rappelle les années 80 où j'ai fait un peu d'assembleur sur DSP320C25.
@Friedrich13127
@Friedrich13127 3 года назад
Je l'ai appris gamin sur ZX81. Pas evident a saisir (en code Hexa sur cette machine), mais intéressant.
@kadirihalima1397
@kadirihalima1397 3 года назад
Ecrire un programme permettant d’effectuer l’addition de deux nombres de 16 bits : (0x0CDE, 0x3B85)?!?!!
@Photoss73
@Photoss73 4 года назад
Sur PC à 8MHz (vers 1990) on avait une carte convertisseur A/D (bus ISA) mais remplacer en (Borland) C sous (MS)DOS les accès I/O (inp out) par l'équivalent en assembleur n'avait rien apporté en gain de vitesse d'éxécution, ça devait être codé de façon optimale une fois compilé, rien à gagner, trop direct comme accès.
@cedricschopfer1797
@cedricschopfer1797 4 года назад
Je programme essentiellement en c, mais l’assembleur c’est la base. C’est juste une obligation pour faire de l’optimisation de code. Et aussi pour bien comprendre comment fonctionne le processeur
@Kannagichan
@Kannagichan 4 года назад
Bah un compilo C pourra aussi bien optimisé que de l'asm ;) (surtout qu'un optimisation sur certain processeur est difficile à évaluer). Sinon c'est un peu faux de dire "pour bien comprendre comment fonctionne le processeur" , si par exemple on prend le x86 , la façon de comment tu le programme et de comment il fonctionne est totalement différent. Le x86 se programme comme beau papa en 1980 , alors qu'un proc actuelle n'a plus rien à voir , en gros les proc actuelle ont une pipeline , sont superscalaire , font du renommage de registre , mémoire cache etc etc , bref plein de truc "invisible " pour le programmeur ,pour ça que meltdown et spectre sont apparu que 20 ans plus tard de leur apparition des premier sPentium , parce qu'un programmeur assembleur ne sait pas comment fonctionne son proc , il pense naturellement que le x86 fonctionne comme avant ,combien de fois j'ai lu "combien fait de cycle tel instruction" , n'ayant aucun sens sur un proc moderne cette question :) Les seul proco qui ne cache pas le fonctionnement interne du processeur , il y'en a deux principalement Itanium et le CELL , si tu programme sur ces deux processeurs , là oui tu pourra dire que l'asm t'apprend à comment fonctionne un processeur moderne , sinon non ;)
@marcellaporey3306
@marcellaporey3306 2 года назад
Il y a quelque décennies, j'ai désassembler dans un but de cracker des clés de sécurité et autre...
@marcellaporey3306
@marcellaporey3306 2 года назад
Sur PC les interruptions pour Contrôler les accès aux périph I/O. Et même la gestion des commerciaux cher AXA Assurance France sur de gros IBM, Que de souvenir avec ce langage de légende .
@seblid
@seblid 4 года назад
c'est se plonger dans les entrailles des processeurs et comprendre comment sa marche vraiment
@fouadnano
@fouadnano 4 года назад
esq peut convertire de langage machine a l'assembleur avec un logiciel
4 года назад
Oui, et comme mentionné dans la vidéo, cela s'appelle un désassembleur.
@AnTon1_LeBouze
@AnTon1_LeBouze 4 года назад
Que de Souvenirs, sur le Z80, 6809, 8051,....
@francoisp3625
@francoisp3625 4 года назад
9:18 ligne 216 - fail d indentation :) bons et mauvais souvenir sur 6502 et 6509
@dlaurent67
@dlaurent67 4 года назад
Et oui les premiers avec Z80, Intel 8086...
@philtoa334
@philtoa334 4 года назад
sympa.
@alhannboulai3035
@alhannboulai3035 Год назад
Bertrand ton programme assembler pour la variation d'intensité de ta led de manière cyclique est fausse, je l'ai recopier sur MPLABX je n'obtient que des erreur de syntaxe et des symbole non définie par le compilateur
Год назад
Vous l'avez vu dans ma vidéo, il fonctionne. Tâchez de comprendre pourquoi il y a des erreurs de votre côté.
@alilichelarbi8569
@alilichelarbi8569 4 года назад
6502 Z80 8086
@aronmeren8558
@aronmeren8558 Год назад
Voyez MENUET OS: un OS écrit ENTIEREMENT en assembleur !!!
@MrAnelos
@MrAnelos 4 года назад
dès le début j'ai tiqué sur l'assembleur un langage non optimisé
@micheljosephhoude1319
@micheljosephhoude1319 4 года назад
Ah les bons vieux goto !
@nasmRE
@nasmRE 4 года назад
Bah ouai c'est cool l'asm
@NumeroUndeuxTrois
@NumeroUndeuxTrois 4 года назад
Il faut arrêter cette légende urbaine qui dit que l'asm est difficile à apprendre. J'ai écrit mon premier programme asm en moins d'une semaine (un base 64). Je trouve l'asm beaucoup plus simple à apprendre que le c++ par exemple.
4 года назад
La perception de difficulté d'apprentissage vient du fait que le nombre d'instruction est limité, et donc que c'est plus pénible de produire des actions complexes.
@samva1512
@samva1512 4 года назад
C'est là que se trouve la limite entre un électronicien et un informaticien...
@Silicium0168
@Silicium0168 4 года назад
je m'en rappel encore et cela me serre de passerelle...
@bsofiane8639
@bsofiane8639 4 года назад
FIiiiRRrrsst!!!!!...j'ai tjs rêvé de faire ça...😅...pouce 👎👎 évidemment (inutile de me remercier)🙃😵😁
@AngusBox
@AngusBox 4 года назад
L'assembleur "pas optimisé" et "pas efficace"??? 😂 C'est sûr que pour faire une interface graphique haut niveau ce n'est pas efficace en terme de ratio temps/fonction.
@fabientuizat1129
@fabientuizat1129 4 года назад
le nop perd le temps pour etre a l heure poete que oui
@YanickT
@YanickT 4 года назад
www.instructables.com/id/GPSDO-YT-10-Mhz-Lcd-2x16-With-LED/ Fait par moi même le tout en assembler :)
@magnetiseur77
@magnetiseur77 4 года назад
Beau travail yannick ! Mon collègue a fait à peu près la même chose pour un fréquencemètre, avec une précision, après divisions de 8Hz max @ 450MHz On en a vendu des centaines, mais c'était en 2006...
@YanickT
@YanickT 4 года назад
LeChat hervé c’est ça mon problème à moi. J’ai du talent pour inventer mais pas pour rentabiliser mes trucs ;) Bravo a vous.
Далее
EB_#366 Introduction - Le Déphasage d'un Signal
13:08
EB_#263 Introduction au FPGA
23:21
Просмотров 39 тыс.
Пришёл к другу на ночёвку 😂
01:00
Assembly language and machine code - Gary explains!
8:21
Comment apprendre un langage rapidement ?
13:22
Просмотров 137 тыс.