Besoin d'aide SVP SVP SVP

[Résolu]
Signaler
Messages postés
22
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
18 août 2009
-
Messages postés
4
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
17 janvier 2008
-
je debute en asm mais je trouve beaucoup de difficultés. je serai trés reconnaissant si qq'un peux me donner des site ou je pourrai trouver une documentation détaillée et d'autre sites pour télécharger NASM. merci d'avance

9 réponses

Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
3
Bonjour,

>trinitry43
You can find another bible about assembly code in Iczelion's assembly homepage
http://win32assembly.online.fr/ (writen for Masm32 - not exactly pure asm)

For API's, you can read how to use them and the parameters needed. It's not in assembly writen but it's easy to translate
http://brunews.com/brunews/download/CP5.zip
http://brunews.com/brunews/download/CP5Sources.zip

Pour les francophones, la traduction par Morgatte des tutoriels d'Iczelion
http://assembly.ifrance.com/assembly/zip/morgatte_traduction.zip

A+
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
3
Bonjour gokudo,

Le site pour télécharger Nasm se trouve sur sourceforge.net. Tu y trouveras les différents exécutables pour Dos, Windows, Linux, la documentation et des exemples.
Si tu débutes l'assembleur il te faudra disposer des éléments suivants:

- un éditeur de texte pour effectuer la saisie des instructions assembleur. Tu peux utiliser notepad mais je te conseille ConText qui permet d'utiliser des macros pour automatiser la compilation
- un assembleur (en l'occurence Nasm) qui convertira les mnémoniques (instructions) en successions d'octets
- un éditeur de liens qui rassemblera les différents fichiers objets en un exécutable pour la plateforme de ton choix (Windows, Linux...). Tu pourras utiliser alink que tu trouveras également sur sourceforge.net
- un éditeur de ressources comme GoRC (http://www.jorgon.freeserve.co.uk/) qui te permettra de créer des ressources (menu, boites de dialogue...)


Avec ceci tu pourras faire pas mal de choses.


Si tu programmes sous windows, je te conseille de télécharger le fichier win32.hlp qui contient l'aide sur les API de windows (les fonctions qui permettent par exemple d'ouvrir un fichier, d'afficher une boite de message...).


Pour commencer à utiliser des ressources et voir comment celà fonctionne, tu pourras utiliser Resource Hacker qui te permet de visualiser et modifier les ressources de programmes existants. Pour désassembler un programme je te conseille d'utiliser TatraDas (sur sourceforge) au lieu de disasm (dans le pack Nasm). Enfin un éditeur hexa comme EditHexa pourra t'être utile.

Pour commencer à programmer en assembleur je te conseille de commencer par le commencement, c'est à dire à commencer à maitriser les opérations courantes.
Création d'un fichier assembleur (en format texte, même si tu lui donnes l'extension .asm), compilation avec Nasm (plusieurs formats sont possibles), édition de liens.
Tu pourras trouver un certain nombre de formats possibles et d'options de compilation dans ma source ci-dessous
http://www.asmfr.com/codes/CREATION-DIFFERENTS-EXECUTABLES-AVEC-NASM-ALINK_37036.aspx

A+
Messages postés
22
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
18 août 2009

merci pour les expliq, peut etre que j'abuserai de ta générosité si je te demande de me donner qq site de documentation ( nimporte quelle format PDF, HTML , DOC ....). car je trouve pas une documentation qui m'aide vraiment ( le traitement des interruption est tré mince on ne parle que de lecture ecriture dans un fichier ). et comme je vien de naitre dans ce monde j'ai besoin de beaucoup d'exemples ( de pratique aussi ). et merci encor mon frere ( si tu me permet de t'apeler ansi ).      
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
3
Rebonjour,

Si tu parles des interruptions, je te conseille de rachercher sur le net la liste des interruptions faite par Ralph Brown (http://www.ctyme.com/rbrown.htm). C'est la bible en la matière.

Je ne peux guère t'en dire plus car je n'ai guère pratiqué l'assembleur en mode réel.
Aujourd'hui ce mode de programmation tend à disparaitre. Si tu débutes, je te conseille de commencer par programmer en mode virtuel 32 bits et attendant le 64 bits. Ce n'est pas plus difficile et tu n'auras pas à jongler avec les segments et offsets et leur initialisation.

A+
Messages postés
22
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
18 août 2009

remerci
Messages postés
2
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
21 juillet 2007

me too i have the same problem,i started programming in ASM but i found it so difficult, so i am begging you to give some sites about ASM can help me..thank you 
Messages postés
2
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
21 juillet 2007

hello everyone...thanks a lot for having answering
Messages postés
4
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
17 janvier 2008

Bonjour,

La programmation en généal et en assembleur en particulier demande essentiellement de la rigueur et de la constance, bref des qualités "humaines" extrèmement liées à l'individu et à sa culture ... l'orthographe, la syntaxe ne sont pas des normes superfétatoires mais des moyens d'exprimer avec rigueur des concepts. De plus en plus d'écoles dites "techniques" (I.U.T., ingénieurs ...) encouragent leurs enseignants à faire preuve de sévérité sur l'expression écrite de leur étudiants, ce n'est pas par tocade réactionnaire mais parce que les dérives constatées depuis 30 ans sont aujourd'hui clairement identifiées comme ayant un lien avec l'affaiblissement du niveaux des élèves : les délocalisations dans le tertiaire ont commencées et ce n'est pas pour des raisons de coûts mais de qualité.

L'assembleur est difficile à apprendre lorsque l'on est habitué aux langages de haut niveau, particulièrement le basic et ses dérivés. La logique est autre, c'est d'ailleurs en essayant d'écrire des "macro" pour se rapprocher des structures "basic" que Richie à inventé le C. En assembleur vous ne pouvez pas vous reposez sur une structuration de votre pensée induite par le langage, celui-ci ne dispose que du cadre des instructions du processeurs, c'est-à-dire rien d'humainement organisé.
Je vous assure bien avant de comprendre l'assembleur, faites l'effort sur vous-même d'appréhender ce que je vous dit.

Je suis désolé, mais je n'ai pas le temps de poursuivre maintenant, à tout à l'heure pour la suite.

P.S. Monsieur 'trinity43' que croyez-vous prouver en vous exprimant dans votre anglais rudimentaire ?
Messages postés
4
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
17 janvier 2008

suite ...

En premier un lien (diverses langues) http://www.drpaulcarter.com/pcasm/

J'imagine que mon discours du message précédent peut vous sembler étrange, "réfléchis cinq minutes tu gagnes un quart d'heure" me disais mon grand-père

dans son langage de maçon, c'est un peu ce que je vous invite à faire: reflechissez a ce qu'est véritablement l'assembleur et l'acte de programmation, vous

verez qu'ensuite vous irez plus vite.

Il est impératif que vous sachiez lire directement de l'héxa et même du binaire ; évitez les commentaires inutiles et n'oubliez jamais que dans 3 semaines

vous ne comprendrez plus ce que vous vouliez faire, donc une explication prend du temps sur le moment et en fait gangner beaucoup plus tard.
En assembleur il ne faut pas être pressé, je sais que c'est dur, mais parfois il faut admettre que l'on ne peux rien tester avant des jours ! 3 Ko.

fonctionnels par semaine c'est déjà une belle performance.
En assembleur ayez toujours à l'esprit une représentation de la mémoire de votre machine, demandez-vous souvent "qu'est-ce que ça touche en mémoire ?" 60%

des erreurs se situent là.

Comprenez bien la différence entre le mode réel et le mode protégé, vous n'aurez pas le choix à terme vous serez obligé de travailler un mode protéger,

alors autant s'y habituer tout de suite. Attention à bien lire la documentation sur chaque instruction, certaines ne fonctionnent pas identiquement en mode

réel ou protégé ('stos" par exemple).
La notation 0010:0020 fait référence au mode réel et n'est en rien équivalente à 0x00100020 (0x120 en réalité) en mode protégée elle est à proscrire (elle

signifirait que vous pointez l'adresse de base de la troisième entrée de la GTD + 0x20).

Les drapeaux du registre d'état demandent à être bien assimilés et bien sur les branchements conditionels qui vont avec ; ne vous inquiétez pas je ne

connais aucun programmeur qui ne se réfère pas à la documentation pour les tests exotiques.

Ne vous préocupez pas pour l'instant d'optimisation vous allez perdre en clarté pour quelques millièmes de seconde.

Enfin entrainez-vous avec des choses basiques -comme nous avons tous fait- conversion valeur/chaînes, recherche de caractères, tris, branchements par une

table, etc.

Bon courage.