IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

x86 32-bits / 64-bits Assembleur Discussion :

possibilité de nasm


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Membre confirmé Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Points : 519
    Points
    519
    Par défaut possibilité de nasm
    Bonjour à tous,

    Je me demandais ce qu'il était possible de faire avec nasm... Est-ce qu'on peut tout faire ? Même une interface graphique ?
    Aucun de nous n'est seul, Même l'air que nous expirons est inspirés par d'autres...

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Bonsoir,

    NASM est un assembleur. C'est donc un compilateur qui te permet d'écrire des programmes en langage machine, c'est-à-dire en utilisant directement le jeu d'instructions du micro-processeur.

    Tu peux donc — en théorie — faire absolument tout ce que tu peux faire avec les autres langages puisque ceux-ci débouchent forcément, tôt ou tard, sur une routine qui sera exécutée par le micro-processeur, soit parce qu'ils l'ont générée eux-mêmes (cas des compilateurs C, qui produisent en interne du code assembleur avec lequel on produira l'exécutable final), soit en appelant des routines déjà écrites à l'avance. En pratique, bien sûr, ça va être très compliqué puisque les systèmes d'exploitation modernes et les bibliothèques associées sont surtout étudiées pour être appelés depuis des langages de plus haut niveau et qu'à dire vrai, c'est précisément pour s'affranchir de toutes ces besognes que l'on a développé des langages de plus haut niveau.

    Tu peux créer une interface graphique à partir de rien en assembleur. Ça va te demander des années à mettre en place mais ça se faisait relativement couramment sur les anciennes machines, depuis les les 8 bits jusqu'aux PC y compris en 32 bits tant que D.O.S. régnait dessus.

    Si tu veux écrire un programme fenêtré, il faut initialiser l'interface tel que tu le ferais en langage C par exemple. Sous MASM, il existe la macro INVOKE qui sert à appeler facilement des fonctions en remplissant la pile comme elle doit l'être.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,

    Tout programme écrit dans langage haut niveau (JAVA, C++,..) doit être transformé (compilé) en un code assembleur (code cible) avant d'être assemblé et lié (édition de liens). La tâche de compilation est divisée en plusieurs phases ! Don, théoriquement vous pouvez faire tout en assembleur (INTEL ou AT&T).

    Mais pratiquement ça dépend des fonctionnalités de l'outil que vous utilisez, c-à-d le programme assembleur ( qui est NASM dans votre cas).

    Mais je pense qu'il est mieux d'utiliser le langage C car c'est un langage dit intermédiaire, c-à-d ni bas niveau (comme l'assembleur) ni haut niveau. De plus vous pouvez dans un code C invoquer de l'assembleur soit en faisant appel à des fonction assembleurs ou en utilisant le inline assembler. La plus part des bibliothèques et des programmes sont écrit en langage C comme le noyau Linux et la bibliothèque SDL !

Discussions similaires

  1. Possibilite de replication partielle ?
    Par Mupps dans le forum Requêtes
    Réponses: 5
    Dernier message: 19/03/2004, 15h54
  2. Recherche d'une possibilite
    Par Alexnancy dans le forum Langage SQL
    Réponses: 8
    Dernier message: 29/01/2004, 23h46
  3. Les possibilité que C++ offre par rapport à Pascal Objet
    Par Riko dans le forum Langages de programmation
    Réponses: 13
    Dernier message: 01/02/2003, 21h38
  4. quels sont les possibilitées???
    Par lolo-d dans le forum OpenGL
    Réponses: 11
    Dernier message: 16/05/2002, 00h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo