Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Bêta ON] Premiers pas vers l'assembleur Intel x86 avec NASM

Dans la catégorie "Autres" par cotoporto

    18 juin 2012 à 21:44:53

    Lire le tutoriel
    Tuto ouvert aux bêta-tests
    Réservé aux membres

    • Partager sur Facebook
    • Partager sur Twitter
      18 juin 2012 à 21:44:53

      Espace réservé à l'auteur pour décrire son cours
      • Partager sur Facebook
      • Partager sur Twitter
      tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
        13 novembre 2012 à 11:56:45

        Voici finalement le forum dédié pour ce premier tutoriel que j'écris. Je vais un peu me répéter car le fil de discussion qui avait été créé à été supprimé. Donc voici: ce tutoriel va vous apprendre progressivement à utiliser et comprendre l'assembleur; il n'a pas pour prétention de couvrir tous les aspects mais il sera sûrement un bon et solide début. Ce tuto aurait dû paraître depuis fort longtemps ( 5 mois environ) mais le manque de temps ne m'a pas permis de le rédiger. Maintenant j'ai du temps pour le finir (si j'ai des commentaires encourageants ).Donc, messieurs à vos ordinateurs; tout ce que je vous demande c'est de lire et de critiquer ce tuto.

        PS: Pour les mauvaises langues qui ne savent que critiquer sans rien apporter, qu'ils s'abstiennent! :colere2:
        • Partager sur Facebook
        • Partager sur Twitter
        tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
          13 novembre 2012 à 13:56:01

          On reste un peu sur sa faim ;-)

          Je pense que c'est un bon début de tuto, bien que je l'ai lu en diagonale
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            13 novembre 2012 à 14:55:08

            C'est une très bonne idée de vouloir faire un tutoriel sur l'assembleur, m'y connaissant quelque peu, je vais le suivre avec grand intérêt.

            Par contre, y'a quand même des défauts. Déjà, n'hésite pas à aérer, faire des paragraphes, mettre des titres, et resserrer les balises "listes", ça répartira mieux l'espace et rendra la lecture beaucoup plus fluide. Et vas-y molo sur les smileys et les balises, c'est assez énervant quand y'en a trop.

            Sur le fond, je trouve parfois que tu te répète (par exemple dans la partie "Pourquoi apprendre l'ASM"), tu donne une liste d'inconvénients, tu les contredis en donnant une liste d'avantage, puis tu redonne une liste d'avantages puis d'inconvénients. Ensuite, je trouve le chapitre sur les conversions numériques assez peu utile, il sera sauté par 3/4 des lecteurs. Mieux vaut plutôt une brève introduction dessus, la calculatrice intégré à chaque système d'exploitation étant souvent largement suffisante pour convertir. Dans le chapitre sur les outils, la partie réservée à l'installation est trop longue, et les captures d'écran n'apportent rien. Par contre, ce serait bien de parler des IDE justement, afin de montrer comment ils marchent (perso j'avais eu du mal). Et une partie sur utiliser ses outils, lire la documentation, etc serait un plus je pense.

            Je n'ai pas le temps de développer plus maintenant mais je me pencherai plus dessus une autre fois.
            • Partager sur Facebook
            • Partager sur Twitter
              13 novembre 2012 à 18:19:38

              Très bon début, il faut que tu continues, c'est très prometteur.

              Juste pour information, que comptes-tu réaliser en TP ? Est-ce-que tu penses n'utiliser que les interruptions DOS ou utiliser celles du BIOS ?
              • Partager sur Facebook
              • Partager sur Twitter
                13 novembre 2012 à 18:54:58

                J'ai commence a rediger un tutoriel assembleur mais, faute de temps, j'ai du l'abandonner. Si tu veux, je pourrai t'inclure dans les redacteurs histoire que tu prenne un ou deux chapitres. MP si sa t'interesse
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  13 novembre 2012 à 23:19:20

                  Arf je suis dégoûté, je ne peux pas faire joujou avec le « Hello world » car mon Windows 7 x86_64 ne supporte pas les programmes 16 bits DOS (donc fichiers .com apparemment). :-°
                  Sinon au niveau du tutoriel le style d'écriture est plutôt agréable mais attention en effet à l'espacement parfois exagéré (pas besoin de sauter une ligne sur deux, même dans les exemples de code) ainsi qu'au surplus de smileys par endroits.

                  Je t'encourage vivement à continuer ce tutoriel cela dit, concentre toi sur le contenu, on pourra ensuite de signaler les erreurs courantes de typographie et d'orthographe dans ce que tu as écris.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 novembre 2012 à 0:14:01

                    Je pense que tes efforts sont louables et que ça ne sert à rien de critiquer pour critiquer surtout lorsqu'on ne peut aligner plus de 10 mots sans erreur(s).Je t'encourage à continuer dans cette voie surtout qu'il n'y a pas beaucoup de tutoriels sur l'assembleur et je compte sur toi pour voir apparaître d'ici là les autres parties de ton tutoriel.D'ici là portes-toi bien et surtout bosse dur.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 novembre 2012 à 11:01:27

                      Merci beaucoup à ceux qui m'encouragent (particulièrement cyberntique qui d'ailleurs m'a beaucoup soutenu dans cet énorme boulot que je me suis donné)et aussi ceux qui m'apportent leur avis. Cela dit pour ce qui est d'exécuter du code 16 bits sur les OS 64 bits j'y travaille et je crois que finalement je vais opter pour la virtualisation d'un os 32 bits (un grand merci à korn2kx). @informaticienzero je ne suis pas tout à fait d'accord avec toi car je trouve que pour ceux qui n'avaient jamais eu à faire aux systèmes de numération auparavant, cette étape (conversions inter-bases) permet de se familiariser avec le monde binaire; quant à ceci:

                      Citation : informaticienzero

                      Par contre, ce serait bien de parler des IDE justement, afin de montrer comment ils marchent (perso j'avais eu du mal). Et une partie sur utiliser ses outils, lire la documentation, etc serait un plus je pense.


                      Je crois m'être justifié en disant que je voulais que le bas niveau soit bien compris donc on utilisera les invites de commande pour compiler. Si tu veux savoir comment utiliser les IDE fait des recherches sur google ( ou attends je verrai si je vais en faire une annexe) et puis j'avais déjà mis une partie sur comment utiliser les outils et lire la doc ( même si elle est courte). Sinon pour les autres remarques je les aies prises en compte et je verrai comment apporter des modifications au tuto. @fort: non je ne pense pas utiliser que des interruptions DOS il y aura aussi celles du bios mais on en est encore loin pour le moment. Quant aux TP je suis désolé mais c'est une surprise... Encore une fois merci à tous et à bientôt.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
                      Anonyme
                        14 novembre 2012 à 15:17:50

                        Je trouve ce tuto très bien rédigé (sauf 2 détails déjà cités: les smileys et les sauts de ligne).
                        Bravo pour ce travail et bon courage pour les parties suivantes.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          14 novembre 2012 à 16:12:34

                          Très bon tutoriel ! Sachant qu'il n'y a pas beaucoup de tutoriels sur l'assembleur, en plus le tien part de zéro! :D Continue ainsi, c'est très bien rédigé ;)
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Vous voulez créer des jeux-vidéos en C/C++ ? Vous aimez regarder des gameplays ? Visitez ma chaîne YouTube ;) 
                            16 novembre 2012 à 4:20:25

                            Je n'ai pas lu ton tutoriel dans le détail car je n'ai malheureusement pas le temps mais c'est un tutoriel que je compte bien lire car j'en ai besoin... :)

                            très bonne initiative et vivement la suite.
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              16 novembre 2012 à 18:40:35

                              L'introduction m'a un peu fait fuir :D C'est un gros pavé qui ne donne pas envie de lire ;)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                17 novembre 2012 à 12:18:37

                                Enfin un tuto sur l'ASM !
                                C'est vrai que l'intro est indigeste, et le premier code est bien décortiqué mais finalement, on n'en apprend pas beaucoup plus. Il faudrait peut-être mettre quelques chapitres avant.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  17 novembre 2012 à 17:10:26

                                  Je trouve votre tutoriel très bien fait, je suis débutant en ASM et ça ne m'a pas empêcher de bien comprendre la première partie du cours ! Je vous souhaite bonne chance pour la suite en espérons que la suite sera encore meilleur !
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    17 novembre 2012 à 17:55:40

                                    Si ce tuto a été mis en bêta, c'est parce qu'il n'est pas encore parfait donc c'est en lisant vos commentaires que je vais l’amélioré. Quant à la structure de mon cours, je l'ai un peu améliorer mais pas complètement. J'espère que ce n'est plus "un gros pavé de texte" :p ; aussi j'ai enlevé les parties "inutiles" qui n'avaient rien avoir avec le sujet, j'ai aussi rendu plus claires certaines explications. En fait c'est mon premier tuto ; c'est pas aussi évident qu'il n'y paraît de s'y retrouver :( . Aussi j'aimerais prévenir tous ceux qui attendent la suite avec impatience qu'ils devront un peu plus attendre (pas longtemps hein) la structure de mon texte et mon plan souffrant de quelques carences, je vais devoir revoir tout cela avant de continuer à écrire le moindre chapitre. Mais vous pouvez déjà me dire si le cours est mieux "aéré" maintenant. Une dernière chose à l'encontre des administrateurs du site : l'outil de rédaction hors-ligne, ne dispose pas de certaines fonctionnalités qui par contre sont sur le site, et sincèrement ça fait faire un double travail parfois.
                                    Merci pour la compréhension et à bientôt.

                                    -
                                    Edité par cotoporto 27 mars 2013 à 9:54:39

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
                                      17 novembre 2012 à 19:14:38

                                      Je trouve l'introduction mieux rédigée ;)
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Vous voulez créer des jeux-vidéos en C/C++ ? Vous aimez regarder des gameplays ? Visitez ma chaîne YouTube ;) 
                                      Anonyme
                                        17 novembre 2012 à 22:32:34

                                        Je ne sais pas si c'est déjà le cas, mais je te conseille de faire un plan le plus précis possible. Je sais par expérience que quand tu n'en fais pas ça deviens galère et tu te retrouve à réécrire des chapitres entiers.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          18 novembre 2012 à 10:24:36

                                          J'ai juste noté une petite erreur au QCM du Chapitre Système de numération : ici.

                                          La question :

                                          Combien de bits il y a dans un octet,un mot et un double-mot?
                                          • 8bits pour l'octet, 20 bits pour le mot et 30 bits pour le double-mot
                                          • 8bits pour l'octet, 16bits pour le mot et 32bits pour le double-mot
                                          • 7 bits pour l'octet, 18 bits pour le mot et 25 bits pour le double-mot


                                          et dans la correction :



                                          Mauvaise réponse
                                          • 8bits pour l'octet, 16 bits pour le mot et 32bits pour le double-mot

                                          La bonne réponse était
                                          • 8bits pour l'octet, 20 bits pour le mot et 30 bits pour le double-mot

                                          Explications

                                          Il y a 8 bits pour l'octet, 16 bits pour le mot car un mot est un ensemble de deux octets et 32 bits pour le double-mot car un double-mot compte deux mots donc 4 octets soit 32 bits



                                          Si il n'y a pas d'erreur veuillez m'excuser du dérangement.


                                          Bricomachin
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            18 novembre 2012 à 11:21:47

                                            Merci il y a effectivement erreur et elle a été rectifiée.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
                                              18 novembre 2012 à 13:18:17

                                              Waouh ! Réponse rapide; une équipe vachement présente, ça fait plaisir à voir...

                                              À propos, j'ai windows 7 64Bits et donc lorsque je lance le hello.com cela me donne une erreur de non-compatibilité avec le fichier .com (du 16bits si je ne m'abuse...) vous auriez une petite soluce pour que je n'ai pas à passer sur XP ?


                                              Merci,


                                              Bricomachin
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Anonyme
                                                18 novembre 2012 à 13:34:29

                                                @bricomachin : Si tu comptes aller plus avant dans l'étude de l'asm je te conseille de passer par DosBox ;)

                                                @cotoporto : Beau boulot à toi, j'attends de voir la suite pour laquelle je réserve mes suggestions/remarques :)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  18 novembre 2012 à 14:10:50

                                                  @ACiD.H34D : Merci je vais tester ça dès que j'arrive à la maison ^^
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    19 novembre 2012 à 9:15:55

                                                    @bicomachin : tu peux utiliser virtualbox et installer xp en virtuelle ainsi tu pourra exécuter les fichiers com. Si tu ne sais pas utiliser virtualbox ce tuto devrait t'aider ; aussi de toute façon je suis en phase de rédaction et je bosse très dur (2 chapitres en 3 jours) et j'ai pensé à ceux qui ont une architecture 64 bits. donc pas d'inquiétude ;)
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
                                                      19 novembre 2012 à 10:02:06

                                                      Je n'ai pas lu le tuto mais y'a un truc que je ne comprends pas : pourquoi persister sur l'assembleur DOS alors que le format d'exécutable généré n'est plus lisible sur aucun PC vendu dans le commerce ?
                                                      L'assembleur pour Windows 32 ou 64 bits est vraiment beaucoup plus compliqué ?

                                                      Comme installer XP en machine virtuelle nécessite une licence valide de XP qui autorise ça, c'est un conseil que l'on peut difficilement donner.
                                                      Tu comprendras qu'il faut une excellente raison pour imposer une telle contrainte dans ton tuto.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        19 novembre 2012 à 10:37:26

                                                        @spacefox pour ce qui est de l'assembleur win32 j'ai bien prévu de l'aborder mais un peu plus tard car je trouve que se familiariser avec le format com est assez didactique et beaucoup plus simple pour un débutant c'est tout. Quant a la licence qu'il faut avoir pour installer xp en virtuelle sincèrement je l'ignorais je vais donc finalement me diriger vers dosbox qui une alternative pas du tout mal.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
                                                        Anonyme
                                                          19 novembre 2012 à 18:02:58

                                                          Enfin, il faut une licence pour ne pas être hors-la-loi, après ..
                                                          Sinon je plussoie pour DosBox qui tourne plutôt bien, et qui de toutes façons est suffisant pour ce type d'opérations.

                                                          Question qui me taraude .. Dans la réalisation du Hello World, tu utilises l'int 0x21, largement répandue dans les cours d'ASM qu'on peut trouver à droite à gauche. Pourquoi ne pas privilégier l'int 0x10 (que ce soient les fonctions 0Ah ou 0Eh) qui elle n'est pas exclusive au DOS ?
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            19 novembre 2012 à 18:05:10

                                                            Citation : ACiD.H34D

                                                            Enfin, il faut une licence pour ne pas être hors-la-loi, après ..


                                                            Donc il faut une licence pour être présentable sur un tuto du Site du Zéro. C'est aussi simple que ça :)
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            Anonyme
                                                              19 novembre 2012 à 18:21:33

                                                              Aah on est bien d'accord là dessus oui ! Et puis la question se pose pas dans la mesure où DosBox est plus pratique, libre, et largement suffisant quoi qu'il en soit :)


                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              [Bêta ON] Premiers pas vers l'assembleur Intel x86 avec NASM

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown