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 :

[Débutant] Quel assembleur me conseillez-vous ?


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 76
    Points
    76
    Par défaut [Débutant] Quel assembleur me conseillez-vous ?
    Bonjour, j'espère que je serai accepter par vous,ASMistes, comme un nouveau membres..

    je suis un new newbie en ASM, j'ai un Xp SP2 32bit, j'ai chercher quelques liens pour commencer à apprendre ce langage et j'ai trouvé ceci:
    http://pagesperso-orange.fr/luce.yves/_tut1.html
    [ame]http://fr.wikipedia.org/wiki/Programme_assembleur[/ame]


    malheureusement la majorité des sites sont en anlgais :/

    j'ai quelques questions sil vous plait:

    quel est la différence entre NASM/MASM32/RosASM/TASM/FASM..est-ce une différence syntaxique ou il y a autre chose,..que me conseiller vous..sachant que
    j'ai télécharger MASM32 depuis le site officiel

    maintenant après avoir télécharger cette archive zip, j'ai pas voulu décompresser l'archive ni installé l'executable, avant de voir vos conseils avisés.

    j'ai chercher partout mais je n'ai rien trouvé sur le comment utiliser ce langage, avez-vous un petit exemple d'utilisation, et comment le mettre en marche.

    merci beaucoup,

    EDIT: j'ai vu la FAQ bravo pour ceux qui on contribué à cette FAQ, elle va beaucoup m'aider, mais malheureusement ce premier pas dans ce monde est difficile pour moi, vous pouvez me montrer un petit exemple et comment l'utiliser, je le mets dans un fichier texte puis je l'appel depuis l'invite de commandes ?

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2009
    Messages : 36
    Points : 52
    Points
    52
    Par défaut
    Bonjour, saw-next.

    Citation Envoyé par saw-next Voir le message
    malheureusement la majorité des sites sont en anlgais :/
    Et Developpez.com ?

    Citation Envoyé par saw-next Voir le message
    quel est la différence entre NASM/MASM32/RosASM/TASM/FASM..est-ce une différence syntaxique ou il y a autre chose,..que me conseiller vous..sachant que
    j'ai télécharger MASM32 depuis le site officiel
    Même chose, le lien que j'ai donné répondra à ta question.
    Personnellement, je recommande NASM ou FASM : leur syntaxe est bien plus simple à apprendre que celle du "vieux" TASM, où du compliqué MASM.

    Tommy

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    merci tommy60, super je me sens accepter

    Citation Envoyé par tommy60 Voir le message

    où du compliqué MASM.
    oO je débute mal là !! j'ai malheureusement télécharger le compilateur MASM.

    j'ai vu le cours de DEV c'est super..merci beaucoup, encore merci car tu m'a répondu à ma question , donc Nasm/MASM/.. sont différents syntaxiquement c'est ça ?

    les scripts source que je trouve dans les forums il faut les mettres dans un fichier texte puis les appeler depuis l'invite de commandes ?..désolé encore je commence tout juste dans la programmation, mais j'ai quelques petites notion en VBS.

    EDIT: j'ai suivi ton conseil et j'ai télécharger NASM depuis ce lien http://sourceforge.net/projects/nasm/

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2009
    Messages : 36
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par saw-next Voir le message
    merci tommy60, super je me sens accepter
    Pourquoi on ignorerait les nouveaux venus ? Moi aussi je suis nouveau. Et cela ne nous empêche pas de nous entraider.

    Citation Envoyé par saw-next Voir le message
    oO je débute mal là !! j'ai malheureusement télécharger le compilateur MASM.
    MASM est quand même un formidable outil. Sa syntaxe est parfois un peu pénible et complexe pour le débutant, même s'il reste incontournable pour la programmation Windows en assembleur. Même moi, j'ai eu beaucoup de mal avec MASM au début. Maintenant, c'est tout autre chose: j'ai créé mon assembleur depuis.

    Un conseil, choisis bien ton assembleur avant de commencer: regarde ici http://www.developpez.net/forums/d20...r-lassembleur/ cela pourrait te donner une idée.

    Autre chose, MASM (ainsi que NASM, FASM, etc) n'est pas un compilateur, mais un assembleur. Autre chose (encore), évite TASM. La dernière version date de 2000 et il n'évoluera plus. En plus, il ne supporte pas les dernières instructions des processeurs récents.

    Citation Envoyé par saw-next Voir le message
    j'ai vu le cours de DEV c'est super..merci beaucoup, encore merci car tu m'a répondu à ma question , donc Nasm/MASM/.. sont différents syntaxiquement c'est ça ?
    Oui, mais pas seulement. Si on compare MASM avec NASM, ou encore MASM avec FASM, la syntaxe est assez différente. Celle de NASM et FASM sont très simple et très proche. Mais tous ces assembleurs sont aussi différents par leurs fonctionnalités. Par exemple, MASM supporte une grande variété de macros aidant à la programmation en langage assembleur, comme les macros ".IF", ".ELSE", ".ENDIF".

    Citation Envoyé par saw-next Voir le message
    les scripts source que je trouve dans les forums il faut les mettres dans un fichier texte puis les appeler depuis l'invite de commandes ?..désolé encore je commence tout juste dans la programmation, mais j'ai quelques petites notion en VBS.
    Exact, il faut les mettre dans un fichier texte. Ensuite, il faut passer par l'invîte de commandes, puis, en supposant que ton fichier s'appelle fichier.asm, il suffit de taper:
    NASM assemblera le contenu du fichier, puis génèrera un fichier binaire tout simplement appelé "fichier". Si tu tapes "nasm" tout seul, ce dernier affichera la liste des options disponibles.

    Tommy

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par tommy60 Voir le message
    Pourquoi on ignorerait les nouveaux venus ? Moi aussi je suis nouveau. Et cela ne nous empêche pas de nous entraider.


    MASM est quand même un formidable outil. Sa syntaxe est parfois un peu pénible et complexe pour le débutant, même s'il reste incontournable pour la programmation Windows en assembleur. Même moi, j'ai eu beaucoup de mal avec MASM au début. Maintenant, c'est tout autre chose: j'ai créé mon assembleur depuis.

    Un conseil, choisis bien ton assembleur avant de commencer: regarde ici http://www.developpez.net/forums/d20...r-lassembleur/ cela pourrait te donner une idée.

    Autre chose, MASM (ainsi que NASM, FASM, etc) n'est pas un compilateur, mais un assembleur. Autre chose (encore), évite TASM. La dernière version date de 2000 et il n'évoluera plus. En plus, il ne supporte pas les dernières instructions des processeurs récents.


    Oui, mais pas seulement. Si on compare MASM avec NASM, ou encore MASM avec FASM, la syntaxe est assez différente. Celle de NASM et FASM sont très simple et très proche. Mais tous ces assembleurs sont aussi différents par leurs fonctionnalités. Par exemple, MASM supporte une grande variété de macros aidant à la programmation en langage assembleur, comme les macros ".IF", ".ELSE", ".ENDIF".


    Exact, il faut les mettre dans un fichier texte. Ensuite, il faut passer par l'invîte de commandes, puis, en supposant que ton fichier s'appelle fichier.asm, il suffit de taper:
    NASM assemblera le contenu du fichier, puis génèrera un fichier binaire tout simplement appelé "fichier". Si tu tapes "nasm" tout seul, ce dernier affichera la liste des options disponibles.

    Tommy
    merci encore

    enfin de compte j'ai installé MASM32 et essayer avec cet exemple de code et ça marche, ça créer effectivement test.exe mais en appelant le nouvel executable depuis l'invite:

    ça n'affiche rien .. une idée ?

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2009
    Messages : 36
    Points : 52
    Points
    52
    Par défaut
    Tu parles de ce code là ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    .386
    .model flat,stdcall
    option casemap:none
     
    .code
    start:
        mov eax, 1 ; ceci est un commentaire: registre eax = 1
        mov ebx, 2 ; registre ebx = 2
        add eax, ebx ; eax = 1 + 2 = 3
        ret ; pour simplifier: fin du programme 
     
    end start
    C'est donc tout à fait normal. Ce programme ne fait strictement rien... à part 1+2. Il n'y a aucun résultat visuel.

    Voici un exemple qui affichera une fenêtre à l'écran:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
        .386
        .model flat,stdcall
        option casemap:none
     
        pushcontext listing	;suppress listing of includes
        .nolist
        .nocref
        include \masm32\include\windows.inc
        include \masm32\include\kernel32.inc
        include \masm32\include\user32.inc
        includelib \masm32\lib\kernel32.lib
        includelib \masm32\lib\user32.lib
        popcontext listing
     
    WinMain proto :HINSTANCE,:HINSTANCE,:LPSTR,:DWORD
     
        .data
     
    ClassName db "SimpleWinClass",0
    AppName  db "Our First Window",0
     
        .data?
     
    hInstance HINSTANCE ?
    CommandLine LPSTR ?
     
        .code
     
    start:
        invoke GetModuleHandle, NULL
        mov    hInstance,eax
        invoke GetCommandLine
        mov    CommandLine,eax
        invoke WinMain, hInstance, NULL, CommandLine, SW_SHOWDEFAULT
        invoke ExitProcess,eax
     
    WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD
        local wc:WNDCLASSEX
        local msg:MSG
        local hwnd:HWND
        mov   wc.cbSize,SIZEOF WNDCLASSEX
        mov   wc.style, CS_HREDRAW or CS_VREDRAW
        mov   wc.lpfnWndProc, OFFSET WndProc
        mov   wc.cbClsExtra,NULL
        mov   wc.cbWndExtra,NULL
        push  hInstance
        pop   wc.hInstance
        mov   wc.hbrBackground,COLOR_WINDOW+1
        mov   wc.lpszMenuName,NULL
        mov   wc.lpszClassName,OFFSET ClassName
        invoke LoadIcon,NULL,IDI_APPLICATION
        mov   wc.hIcon,eax
        mov   wc.hIconSm,eax
        invoke LoadCursor,NULL,IDC_ARROW
        mov   wc.hCursor,eax
        invoke RegisterClassEx, addr wc
        invoke CreateWindowEx,NULL,ADDR ClassName,ADDR AppName,\
               WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,\
               CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,\
               hInst,NULL
        mov   hwnd,eax
        invoke ShowWindow, hwnd,SW_SHOWNORMAL
        invoke UpdateWindow, hwnd
        .while (1)
            invoke GetMessage, ADDR msg,NULL,0,0
            .break .if (!eax)
            invoke TranslateMessage, ADDR msg
            invoke DispatchMessage, ADDR msg
        .endw
        mov     eax,msg.wParam
        ret
    WinMain endp
     
    WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
        mov eax, uMsg
        .if (eax == WM_DESTROY)
            invoke PostQuitMessage,NULL
        .else
            invoke DefWindowProc,hWnd,uMsg,wParam,lParam
            ret
        .endif
        xor eax,eax
        ret
    WndProc endp
     
    end start

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par tommy60 Voir le message
    Pourquoi on ignorerait les nouveaux venus ? Moi aussi je suis nouveau. Et cela ne nous empêche pas de nous entraider.
    merci tommy60, je vais essayer ton code tout à l'heure "j'ai encore du travail"..merci beaucoup, tu m'a été d'une grande aide..

  8. #8
    Membre régulier
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par saw-next Voir le message
    merci tommy60, je vais essayer ton code tout à l'heure "j'ai encore du travail"..merci beaucoup, tu m'a été d'une grande aide..
    et ça marche !! merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Conseil] Quel client IRC conseillez-vous ?
    Par Mindiell dans le forum IRC / mIRC
    Réponses: 4
    Dernier message: 23/01/2007, 11h53
  2. Réponses: 2
    Dernier message: 03/08/2006, 12h01
  3. [Info]Quel livre me conseillez-vous pour apprendre Java?
    Par Sébastien L dans le forum Langage
    Réponses: 25
    Dernier message: 09/02/2006, 21h54
  4. [Newsletter] Quel site me conseillez vous?
    Par Nicos77 dans le forum Langage
    Réponses: 1
    Dernier message: 07/11/2005, 12h12
  5. Quel SGBD me conseillez vous ?
    Par chriton dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 23/06/2005, 11h23

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