Compilateur Assembleur

Résolu
Deimos_ Messages postés 15 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 29 juin 2005 - 30 déc. 2004 à 14:08
statismeles Messages postés 7 Date d'inscription vendredi 20 août 2004 Statut Membre Dernière intervention 2 mai 2011 - 25 sept. 2005 à 21:46
Bonjour à tous,

Je commence à programmer l'assembleur et je voudrais savoir quel est le soft le plus adapté puor compiler mes programmes ! Je tourne sous Windows XP, et j'ai donc un processeur 16 bits ...

Merci de me répondre ;) ++

27 réponses

Deimos_ Messages postés 15 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 29 juin 2005
2 janv. 2005 à 20:07
Ouais ok merci, mais la commande ml /c ne marche pas ... (car /C n'exite pas, /c oui, il permet d'assembler sans linker) ... il me met plein plein de lignes d'erreurs et finalement "stop assembling" ...

D'abord il me met une bonne vingtaine de lignes avec :
\masm32\include\windows.inc(49) : error A2119: language type must be specified

Ensuite il me met une bonne trentaine de fois :

\masm32\include\windows.inc(9994) : error A2008: syntax error : in structure
\masm32\include\windows.inc(9999) : error A2179: structure improperly initialized

Splendide ... c'est vraiment cool de commencer un langage en ayant même pas de quoi faire ses progs ...

Merci, même si ça ne marche pas, de m'aider, je dois avoir la poisse :$ .....

++
0
Deimos_ Messages postés 15 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 29 juin 2005
2 janv. 2005 à 20:18
J'ai rien dit, ignore mon mesage d'avant, c'est n'importe quoi, je m'étais gourré !
Ca fonctionne parfaitement, merci mille fois !!!!!!!!! Mais ton lien pour freelink est mort donc j'ai pas pu linker mon programme lol !
Une last question : comment je choisis exactement si je veux un .com ou un .exe ? Car je pense qu'il va toujours me mettre un .exe, non ?

Merci encore Nukleos ;) ++
0
Deimos_ Messages postés 15 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 29 juin 2005
2 janv. 2005 à 20:33
C'est bon, j'ai tout pigé ... j'utilise freelink pour les .com et le link.exe qui est avec masm32 pour .exe ! J'ai réussi a trouver sur google freelink !!!!

Bon, ben sujet résolu, tout marche bien, et je te remercie beaucoup ;-) !

++
0
Nukleos Messages postés 31 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 31 juillet 2008
2 janv. 2005 à 21:53
Epilogue:

Si tu veux un EXE pour MSDOS tape FREELINK Bonjour.OBJ
Si tu veux un COM pour MSDOS tape FREELINK /c Bonjour.OBJ
Si tu veux un EXE pour win32 tape LINK Bonjour.OBJ

Bien entendu la conception du programme doit aussi le permettre, sinon
tu auras une foule d'erreurs lors du linkage... (Ici Bonjour.EXE sera généré mais plantera)

ATTENTION :
Les fichiers OBJ (OMF) pour MSDOS n'ont rien à voir avec les fichiers OBJ (COFF) pour Win32.
Les fichiers EXE pour MSDOS n'ont rien à voir avec les fichiers EXE (PE) pour Win32.

Rassure-toi toutes tes difficultés sont malheureusement le lot de tous les débutants
en raison de ces ambiguités.

Voila je pense que ce sujet est terminé.
A bientot.

Patrick.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
4 janv. 2005 à 12:02
salut,

Nukleos a dit:
"Les fichiers EXE pour MSDOS n'ont rien à voir avec les fichiers EXE (PE) pour Win32."

si: l'entête MZ qui est un programme DOS .

@++
0
SystemOfAXav Messages postés 44 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 15 avril 2005
4 janv. 2005 à 16:20
Sans vouloir faire mon chieur, et pour revenir à la syntaxe Intel, ni
Masm ou Tasm ou Nasm, (et je crois qu'aucun en QQCHasm) ne l'utilisent.


Pour les puristes il faut utiliser A86 et D86 (où une version plus
récente, qui doit surement exister quelquepart...) qui sont les
logiciels créés par Intel.



Masm est dédié à Windows et utilise sa propre syntaxe (proche de celle
de Tasm je crois). Son seul "intérêt" par rapport à la concurrence
c'est que c'est le meilleur pour faire des virus et autre
réjouissances. (Que je ne cautionne pas du tout d'ailleurs)


Voila, voila...
@+ Syst3mOf@Xav

Voir Redmond et mourir !
0
statismeles Messages postés 7 Date d'inscription vendredi 20 août 2004 Statut Membre Dernière intervention 2 mai 2011
25 sept. 2005 à 21:46
Salut à tous,

Je sais des mois ont passé depuis cette discussion mais j'ai envie d'y laisser un "petit" supplément. D'abord j'éspère que Deimos_ a trouvé le "compilateur" qui lui convient.
Ensuite je dirais qu'il est difficile de dire ce qui est bien et ce qui est mal. J'ai commencé à programmer en forth (jupiter ace) relativement facilement puis en basic (canon x07) plus difficilement pour finalement aborder le "language machine" z80 plus tard (spectrum sinclair) avec un petit passage sur le 6502 (sx64). Donc déjà avant de faire de l'assembleur il faut connaître le processeur. Ensuite il faut connaître l'environnement voulu, dos, w95, w98, wnt, w2000, millenium, xp, et surtout savoir si l'on a assez de patience. Discuter sur l'utilité du C et vouloir être puriste amènerait à dire qu'il faut encoder soi-même comme à l'époque du z80 en se passant d'un assembleur !!!
Je suis passé sur PC aprés un atari 520stf et habitué au fameux "DevPac" j'ai pleuré car je me retrouvais avec une machine, sans doc pour "compiler à la main", sans assembleur/debugger convivial avec une doc "compréhensible"...
Pourquoi suis-je passé sur PC ?
Parceque c'est la machine la plus répandue !
Parceque programmer directement en assembleur sur un mac est peine perdue !
Pourquoi utiliser MASM plutôt qu'un autre ?
Parceque le pack est assez complet avec des fichiers d'aide et surtout des tutoriaux pour se "faire la main" !
Dire que MASM n'est pas bien parcequ'écrit en C (je ne savais pas) c'est comme dire que les processeurs équipant les PC sont à vomir (ceux qui ont touché au 68000 ne me contrediront pas), çà fait pas avancer un débutant.


Par expérience je dirais que la compréhension d'un language réside dans la qualité des tutoriaux et la patience d'étude des sources. Essayer de comprendre un source récupéré au hasard n'est pas une bonne solution, donc même si MASM n'est pas le top il a au moins cet avantage. Avoir un assembleur ne suffit pas car sans debugger autant "raccrocher" et là c'est + compliqué car MASM n'inclut pas cette fonctionnalité. Par contre MASM est "pilotable" par d'autres softs comme Radasm (qui pilote aussi d'autre assembleurs) http://radasm.visualassembler.com/ conjointement à ollydbg http://www.ollydbg.de/ (j'ai pas testé ce debugger). Il y a aussi EditMasm récupérable sur le site de l'auteur http://perso.wanadoo.fr/luce.yves/ avec beaucoup d'infos. Même si je n'utilise pas EditMasm (pas testé), je trouve que l'auteur (qui est joignable par mail) a fait un trés bon travail pour aider les débutants car son site à le mérite d'être complet (editeur, lien/assembleur, lien/debugger et tutoriaux).

Pour terminer il ne faut pas oublier que nous sommes dans un monde dans lequel rien ne s'obtient sans un dûr travail (Dieu a oublié le pacte "arc-en-ciel" pour la plupart d'entre nous). Travailler en assembleur c'est être prêt à "bloquer" sur une ligne de code problèmatique pendant plusieurs semaines car il n'existe pas de soft capable par exemple de dire pourquoi une dialogbox n'accède pas à une portion de mémoire sous W2000 alors que tout va bien sous XP. Travailler en assembleur c'est aussi accepter d'être une "tortue" qui va avancer millimètre par millimètre. Le language C est celui du lièvre et n'en déplaise à LaFontaine il aurait du gagner. Le language C est un language utilisable pour être recruté dans le domaine informatique. Connaître et ne vouloir connaître que l'assembleur (c'est mon cas) ne s'adresse qu'à ceux qui aiment programmer pour le "fun" et qui sont limite "maso".

La force de programmer soit avec vous.
0
Rejoignez-nous