Accueil > Forum > > > > pour commencer
pour commencer
mardi 12 juin 2007 à 13:54:03 |
pour commencer

didoux95
|
Bonjour a tous. j'ai des connaissance en Java et j'aimerais apprendre l'Assembleur. je me suis déjà un peu rensseigné sur le net et j'ai trouver quelque tutos. Cependant, les avis restent assez partagés sur quel compilateur utiliser et aussi sur quel éditeur utiliser. J'aimerais avoir vos avis pour débuter en Assembleur dans les meilleurs conditions ;-) merci.
|
|
mardi 12 juin 2007 à 15:17:28 |
Re : pour commencer

Nasman
|
Bonjour,
Personnellement j'utilise Nasm, assembleur multi plateforme qui permet de compiler sous plusieurs formats, omf, coff, coff pour windows, binaire. Il est simple d'emploi et est téléchargeable sur sourceforge.net
Pour l'édition des liens j'utilise alink (télechargeable sur le même site)
Pour la compilation des ressources j'utilise gorc
Enfin pour travailler de façon plus conviviale j'utilise ConText comme IDE. Ce dernier permet d'éditer le programme (éditeur de texte) mais également possède des boutons d'action paramètrables pour lancer la compilation, l'édition de liens etc.
Un conseil pour débuter, regarde les sources les plus simples pour comprendre les différentes instructions en assembleur. L'assembleur n'est pas un langage très compliqué (les instructions sont en nombre limité), ce qui complique les choses c'est l'utilisation des fonctions du système d'exploitation (en bien plus grand nombre). Un programme assembleur utilisant les interruptions DOS ou les API windows sera à reprendre quasiment en entier pour fonctionner sous unix et vice versa.
C'est un langage très proche de la machine, des instructions pour un Pentium ne fonctionneront pas sur un microprocesseur plus archaïque.
A+
|
|
mardi 12 juin 2007 à 16:11:48 |
Re : pour commencer

didoux95
|
slt. Merci pour ta réponse. Est ce que tu pourait m'en dire plus sur Nasm (je l'ai téléchargé et je me retrouve avec trois fichiers : deux .exe. et un .FICHIER donc je suis un peu perdu).
merci.
|
|
mardi 12 juin 2007 à 16:29:02 |
Re : pour commencer

_dune2_
|
Salut, tu trouveras un tutorial pour nasm sur ce lien : [ Lien ]Ne pas oublier que google est ton meilleur ami ;) Gentoo... que du bonheur ...
|
|
mardi 12 juin 2007 à 16:46:26 |
Re : pour commencer

Nasman
|
Rebonjour didoux95,
S'il y a plusieurs fichiers exécutables c'est que chacun est conçu pour fonctionner sur des environnements différents: Si tu travailles sur une plateforme Windows 32bits (ce que j'estime fort probable), c'est le Win32 binaries qui t'interesse. Si tu travailles sous DOS ou Linux tu devras télécharger DOS binaries ou Linux RPM binaries.
Sous windows tu auras l'exécutable nasmw.exe (assembleur) et ndisasmw.exe (desassembleur). Je te conseille de télécharger le chm manual pour savoir utiliser nasm. Ce dernier fonctionne en mode console (ligne de commande) par exemple:
nasmw -fbin monfichier.asm donne un fichier binaire pur (pour .com .sys) nasmw -fobj monfichier.asm donne un fichier .obj (format omf) - pourra alors transformé à l'édition de liens en exe, dll d'autre formats sont disponibles pour Linux etc...
Si tu veux t'exercer à la compilation avec Nasm, regarde une de mes précédentes sources http://www.asmfr.com/codes/CREATION-DIFFERENTS-EXECUTABLES-AVEC-NASM-ALINK_37036.aspx
A+
|
|
mardi 12 juin 2007 à 17:30:20 |
Re : pour commencer

didoux95
|
Bonjour. j'ai regarde le lien que tu m'a passé et ... c'est pas contre toi, mais j'ai rien compris. peut-être est ce par ce que je suis sur l'assemble depuis ce matin mais bon je suis un peu larguer. Ce que j'ai compris : il faut compiler le .asm anvant d'en faire un .exe un .dll ou autre. Ce que je n'ai pas compris: comment utiliser Alink pour "convertir" le fichier compilé en .exe (donc, entre autre, utiliser ta source).
je te remerci de bien vouloir m'aiclairer parceque je dois avouer que là j'arrive plus a suivre lol. merci.
|
|
mardi 12 juin 2007 à 17:35:05 |
Re : pour commencer

sheorogath
|
Réponse acceptée !
[ Lien ]
telecharge naside (l'executable pas la version java qui est pas au point) ensuite il te fait tout automatiquement meme le link ^^ " n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
|
|
mercredi 13 juin 2007 à 09:01:38 |
Re : pour commencer

Nasman
|
Réponse acceptée !
Bonjour didoux95,
Lorsque tu veux réaliser un fichier exécutable tu dois effectuer les opérations suivantes:
1) Ecrire un programme (format texte) contenant les instructions (mnémoniques) devant être exécutées pas le microprocesseur. Pour des questions de commodité les adresses ne sont généralement pas écrites en dur mais font références à des labels du style jne fin xxx yyy zzz fin suite du programme
Si le résultat est différent de zéro alors va à fin sinon exécute xxx, yyy et zzz
Si tu utilises des labels appartenant à un autre morceau de programme (assemblé par ailleur), il faudra que tu déclares ces label comme provenant d'un fichier externe.
2) Compiler le programme C'est là que Nasm intervient, son rôle est de transformer les instructions sous forme de mnémoniques en octets. Par exemple mov dx,hello devient BA 0C 01 (écriture dont la compréhension est moins évidente). BA correspond à mov dx et 0C 01 correspond à l'adresse de hello, en l'occurence l'adresse d'offset 010C. L'offset 0100 correspond au début du programme .com (c'est la directive org 0x100) et 0C (soit 12 en décimal) est la distance entre le début du programme et l'étiquette hello (c'est en fait la longueur de la section programme car hello est la première étiquette de la section de données). Si ton programme n'utilise pas de références externes la compilation (format -fbin) te donnera quelque chose de directement exécutable (si le nom du programme compilé est xxx.com. Dans le cas contraire tu devras passer par un fichier objet qui contiendra la conversion mnémoniques/octets mais aussi les références externes nécessaires (labels externes, bibliothèques, fonctions importées).
3) Effectuer l'édition des liens. C'est là qu'alink (ou un autre linker) intervient. Son rôle est de rassembler les différents morceaux compilés, par exemple programme principal et sous programmes, ressources et de résoudre les problèmes de références aux étiquettes. Tu pourras avoir par exemple: alink -oPE programmeprincipal.obj sousprogramme.obj ressource.res win32.lib
Ce qui se traduit en: crééer un exécutable windows (format PE) en rassemblant programmeprincipal.obj (déjà compilé) sousprogramme.obj (déjà compilé) ressourse.res (ressource compilée format .res - elle peut aussi être compilée en .obj pas GoRC) win32.lib librairie contenant des tas de déclarations, Si le programme déclare une référence comme extern, il faut que cette même référence ait été déclarée comme global pas le module où elle se situe (pour qu'elle soit vue pas les autres modules.
J'espère que j'ai pu t'éclairer sur ce point. Nota: dans la souce citée en référence j'ai mis les instructions de compilation et pour l'édition des liens. Ce qui est entre crochets (facultatif) sert à donner un nom de sortie spécifique (dans ce cas il faut enlever les crochets)
A+
|
|
mercredi 13 juin 2007 à 14:44:06 |
Re : pour commencer

didoux95
|
Merci beaucoup. je commence comprendre pas mal de choses.
|
|
Cette discussion est classée dans : utiliser, assembleur, avis, commencer
Répondre à ce message
Sujets en rapport avec ce message
commencer en assembleur [ par raidentr ]
Quel est le meilleur soft pour commencer en Asm sur PC sous Windows ?
Débutant : Commencer par le début [ par cire2003 ]
BonjourJe viens tout juste de commencer à apprendre l'assembleur et dans les tuto que je lis, ils y a différents exemples. Je les retranscris et les c
Utiliser un ActiveX dans un projet assembleur [ par vulpes87 ]
BonjourDepuis un bout de temps je recherche des informations, si c'est possible d'utiliser un ActiveX dans un projet assembleur. J'ai utilié des resso
Quel(s) outil(s) utiliser pour débuter assembleur PC ? ... [ par zutix ]
Bonjour, Je voudrais débuter en assembleur pour une utilisation sur PC (style netbook encore sous Windows XP et ensuite sur PC plus récent) Pourriez
mini-projet maquette portail [ par rasheeeddd ]
salut s'il vous plait je suis debutant en assembleur , et je dois realiser un projet qui ouvre/ferme un portail a partir des touches du clavier , j'
ASSEMBLEUR 8255 [ par hajerSH ]
J'aimerai bien savoir le programme 8255 qui me permet d'afficher le mot 'LAIMP3' par exemple. A l'aide d'une matrice à diodes LEDs 8*8 à cathodes comm
assembleur 8086 [ par mathy11 ]
Bonsoir tout le monde ! je dois faire afficher une grille qui contient des pixels de différents couleurs j'ai utilisé plusieurs programms mais ca ne
pic programmation assembleur avec mplab pour un systeme d'arrosage automatique [ par said50 ]
slt svp je cherche un pfe sur arrosage automatique a base de pic 16F877,svp donnez moi un code en assembleur avec MPLAB qui m'aide et merci
exercice que l'assembleur [ par vinoth150 ]
<div id="m_CPH1_UCForumHome1_Message_UCForumMessage1_DGMsg_ctl02_DGG" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: url(/g/rs.png) no-repe
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|