AsmREPL : découvrez le langage assembleur x86-64

  • Français


  • Le développeur Ruby et japiste Internet Aaron Patterson a publié une REPL pour le langage assembleur 64 bits x86, permettant un codage interactif dans le langage de plus bas niveau de tous.

    REPL signifie « read-evaluate-print loop », et les REPL ont été vus pour la première fois dans les environnements de développement Lisp tels que Lisp Machines. Ils permettent un développement incrémentiel : les programmeurs peuvent écrire du code à la volée, saisir des expressions ou des blocs de code, les faire évaluer – exécuter – immédiatement et imprimer les résultats. C’était viable en raison de la façon dont Lisp brouillait les frontières entre les langages interprétés et compilés ; de nos jours, ils sont une fonctionnalité standard de la plupart des langages de script.

    Patterson a déjà proposé des améliorations révolutionnaires de la productivité des développeurs, telles qu’une cloche de terminal analogique et un micrologiciel améliorant les performances pour le clavier Stack Overflow. Cela n’a que les touches Ctrl, C et V pour un copier-coller très facile, mais le micrologiciel de Patterson supprime le besoin fastidieux de garder le contrôle.

    Nous soupçonnons que l’assembleur REPL est issu du travail de Patterson sur son propre compilateur juste à temps pour Ruby, TenderJIT. Il fait de telles choses pour son travail de jour. Et comme TenderJIT, l’objectif principal d’AsmREPL est éducatif.

    Patterson a expliqué : « Je l’ai écrit parce que je ne me souviens jamais de ce que test l’instruction fait au drapeau zéro. Chaque fois que j’utilise l’instruction, je dois rechercher les documents. Rechercher des documents, c’est bien, mais exécuter du code dans une REPL m’aide à mieux mémoriser les choses.”

    AsmREPL fonctionne en assemblant du code dans une mémoire tampon partagée en utilisant le propre Fisk de Patterson, un assembleur x86-64 écrit en Ruby, puis en utilisant l’Unix ptrace appel système pour surveiller ce que fait le code. Les utilisateurs de Windows devront utiliser WSL.

    Ce n’est pas tout à fait la même chose qu’un moniteur de code machine, tel qu’aimé par les pionniers du codage au début du 8 bits, mais cela ressemble à un outil amusant si vous apprenez à écrire des pilotes de périphériques ou d’autres codes de très bas niveau. ®

    L'équipe de Comparaland

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *