Intéressés par un tutoriel Assembleur (avec NASM) ?

a marqué ce sujet comme résolu.

Bonjour,

Aujourd’hui, je parcourais la liste des tutos de ZdS et je me suis rendu compte qu’il n’y en avait aucun sur l’assembleur :colere2: . Seriez-vous interessés par un tutoriel sur l’ASM ? Si oui, dans l’optique de programmer un petit OS (dans une machine virtuelle) ou juste de la programmation système (Windows ou Linux), pour débutants ou pour programmeurs chevronnés ?

A priori, je pars sur l’idée du petit OS car personnellement, j’ai de l’expérience avec NASM: j’ai programmé un petit OS très basique (qui tient sur une seule disquette) et j’ai programmé un Snake dans cet OS. Cependant, s’il y a une forte demande de la part de gens qui veulent apprendre l’ASM pour débugger leurs programmes en C, je pourrai changer d’avis.

+11 -0

Salut, il y avait eu un début de tuto par dominus carnufex. Il n’est plus là (il avait ses raisons, je n’en parle pas pour qu’on lance un débat mais pour prévenir que ça ne sert à rien de lui envoyer un message si son compte est encore activé) mais tu dois pouvoir trouver les messages sur la beta de son tuto pour te faire une idée de son approche et de l’accueil du tuto.

Hello,

Tout d’abord, comme c’est ton premier message posté, bienvenue sur Zeste de Savoir, en espérant que tu vas t’y plaire ! :)

Tu trouveras peut-être des trucs intéressants du côté des articles, notamment celui-ci. Sinon, comme toujours, tout contenu est le bienvenu ! N’hésites pas à le passer en phase de bêta assez tôt, afin qu’on puisse t’y faire nos premiers retours.

Salut, il y avait eu un début de tuto par dominus carnufex. Il n’est plus là (il avait ses raisons, je n’en parle pas pour qu’on lance un débat mais pour prévenir que ça ne sert à rien de lui envoyer un message si son compte est encore activé) mais tu dois pouvoir trouver les messages sur la beta de son tuto pour te faire une idée de son approche et de l’accueil du tuto.

backmachine

Malheureusement, on ne peut plus accéder au tuto (si tu l’as sauvegardé et que tu peux me l’envoyer par MP, je suis prenneur).

Hello,

Tout d’abord, comme c’est ton premier message posté, bienvenue sur Zeste de Savoir, en espérant que tu vas t’y plaire ! :)

Tu trouveras peut-être des trucs intéressants du côté des articles, notamment celui-ci. Sinon, comme toujours, tout contenu est le bienvenu ! N’hésites pas à le passer en phase de bêta assez tôt, afin qu’on puisse t’y faire nos premiers retours.

Emeric

Merci pour le retour, l’article dont tu parles avait échappé à mes recherches (à vrai dire je ne comprends pas vraiment la différence entre tuto et article : cela correspond aux big tutos et mini tutos de feu SdZ ?) !

Je n’ai pas fais de sauvegarde, ce que je disais c’est que tu peux regarder les discussions autour du tuto pour savoir ce qui intéresse les gens. Il me semble qu’il a beaucoup parlé de son approche et des raisons, à voir si tu adhère ou pas mais ça peut être intéressant pour toi.

La différence entre articles et tutos fait déjà débat depuis un bout de temps (il y a plusieurs posts à ce sujet).

Pour revenir à ta proposition, cela m’intéresserait mais plus pour débutant. Enfin je commence à avoir des bases plutôt solides en C++ et cela m’intéresserait de connaitre l’assembleur notamment pour déboguer effectivement. Mais le fait de faire un mini OS me parait tout aussi intéressant ^^

A priori, je pars sur l’idée du petit OS car personnellement, j’ai de l’expérience avec NASM: j’ai programmé un petit OS très basique (qui tient sur une seule disquette) et j’ai programmé un Snake dans cet OS. Cependant, s’il y a une forte demande de la part de gens qui veulent apprendre l’ASM pour débugger leurs programmes en C, je pourrai changer d’avis.

Biohazard

Fais un truc qui te plait déjà, je pense que c’est le plus important ;) !

Ensuite, mon expérience me fait dire que les programmeurs C qui auront besoin d’aide pour débugger leurs programmes sont déjà assez autonome pour trouver des ressources par eux-même. Surtout que ce dont ils ont besoin en général, c’est une explication rapide : j’ai mes registres, une pile d’appel, un panel d’instructions qui les manipule et ensuite ils sont prêt à débugger (j’éxagère un peu mais c’est l’idée).

Faire un OS demande de connaître beaucoup plus d’informations. Et pour le coup, je connais beaucoup moins de ressources. En plus, la carotte est vraiment chouette. Genre si tu me proposes de faire un OS en assembleur, j’ai envie de lire ton tutoriel juste pour voir si à la fin j’arrive à booter sur mon OS (VM ou pas).

Mais encore une fois, fais ce qu’il te plait je pense que c’est le plus important :D !

+2 -0

Petite question qui me vient à l’esprit, du peu de connaissance que j’ai, il n’y a pas de langage assembleur universel, il y en a par "type" de processeur j’imagine voir même par marque de processeur (le langage assembleur des processeurs Intel doit différer de celui de processeurs d’AMD, non?), c’est bien ça? Si oui, sur lequel te baseras-tu?

+0 -0

Petite question qui me vient à l’esprit, du peu de connaissance que j’ai, il n’y a pas de langage assembleur universel, il y en a par "type" de processeur j’imagine voir même par marque de processeur (le langage assembleur des processeurs Intel doit différer de celui de processeurs d’AMD, non?), c’est bien ça? Si oui, sur lequel te baseras-tu?

Typhlos

Oui, effectivement il y a plusieurs types de processeurs et donc plusieurs types d’assembleur. Je me concentrerai sur x86_64 qui est le jeu d’instruction qui équipe la quasi totalité des ordinateurs vendus aujourd’hui : les processeurs AMD et Intel utilisent tous deux ce jeu d’instruction (qui est une extension 64 bits par AMD d’un jeu d’instruction 32 bits conçu par Intel)

Pour appuyer ton props Biohazard :

  • Souvent les détails qu’il peut y avoir entre différent jeux d’instructions n’est pas important. Cela intéressera principalement les développeurs de compilateur par exemple.
  • Si tu cherches à déboguer du code, ou bien à faire des challenge de hack (genre CTF), ce sera très souvent du x86
  • Ce n’est pas très compliqué, une fois qu’on a compris comment fonctionne un langage d’assemblage d’en apprendre un nouveau.

bonjour par ici au risque de ressembler à un spammeur, je me propose de recommander la lecture d’un tutoriel que je rédige actuellement et qui est assez avancé sur le langage d’assemblage et dont j’aimerais que les avis d’une communauté aussi active que la votre me parviennent. Voici le lien :cours asm attention il faut d’abord s’inscrire sur OpenClassrooms le cours est en bêta. Merci

+0 -0

Salut, ahounoukhaled !

étant donné qu’on a un topic de présentation sur OC et que les auteurs de zds ont un lien qui pointe vers ici dans leur signature, on ne te le reprochera pas.

néanmoins, tu comprendras qu’on essaie d’éviter de proposer à nos membres de se rendre sur un site qui te traque de manière importante et qui ne donne pas vraiment accès à la connaissance à tous car il faut être inscrit pour ne pas être limité dans la lecture du site. Surtout que ton tutoriel n’est pas terminé.

par contre on peut t’offrir toute aide si tu veux porter le tuto chez nous :)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte