HELP ! apprentissage de l'assembleur HELP !

scottmat Messages postés 438 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 23 janvier 2011 - 21 juin 2006 à 12:59
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 - 6 juil. 2006 à 21:25
Bonjours à tous,



Je programme actuellement en VB.Net 2005 et je voudrais m’initier à l’assembleur. D’après tous les articles que j’ai lu a son égard c’est un langage machine, donc qui est tout proche du processeur donc = rapidité (arrêter moi si je di des bêtises surtout)



J’ai lu bon nombre d’article sur son sujet et je me suis fixé de faire un petit OS sur un 386, ne vous inquiéter pas je ne vais rivaliser avec la firme Redmond lol :)



Je voulais apprendre un nouveau langage, mais n’ayant vu aucun intérêt au C++ ou au C# car le VB.Net à été largement améliorer depuis 10 ans et est presque aussi fiable. L’assembleur est apparemment la naissance de tout logiciel et OS, donc très intéressant.



J’ai NASM, mais si quelqu’un à des bon exemples à me donner et me conseil un ou des bons bouquins sur le sujet, en français de préférence, parce-ce que devant NASM je fais moins le mariol lol j’ai l’impression de repartir à zéro : normal lol.



Merci d’avance à tous ;)

5 réponses

cs_algori Messages postés 868 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 26 février 2008 1
21 juin 2006 à 13:33
Salut,
Pour info :
>>tout proche du processeur donc = rapidité
Ben non, si c'est mal programmé ça sera pas forcément rapide.

>>J’ai lu bon nombre d’articles sur son sujet et je me suis fixé de faire un petit OS
Y'a une très bonne source sur CPPFrance. Je te conseille d'y faire un tour. Voici le lien :
http://www.cppfrance.com/codes/COMMENT-PROGRAMMER-OS-SIMPLE-SOUS-WINDOWS_33338.aspx
Dommage que ça ne soit pas terminé.
D'autres sources parlent de ça, sinon.

>>mais n’ayant vu aucun intérêt au C++
Dommage, tu loupes quelque chose

Passer de VB à l'ASM, c'est pas forcément facile car très différent. Je dirai même rien à voir.
Je pense qu'il est bien d'avoir de solides bases en C avant de se lancer dans l'assembleur. Enfin, peut être que je me trompe...

Sinon, y'a MASM32 qui est plutôt cool pour faire des appli sous Windows : www.movsd.com
Pour de la documentation, c'est surtout en anglais.

@++
0
cs_Nasman Messages postés 202 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 29 septembre 2008 3
21 juin 2006 à 14:13
Bonjour scottmat,

Si tu commence seulement à faire de l'assembleur, la tache risque d'être ardue.


Faire un OS à partir de rien n'est pas une mince affaire. Je commence à connaitre les fonctions de base de Nasm et pourrais (peut-être) te donner des tuyaux quant à cet assembleur que j'utilise.


Pour commencer je te conseille de regarder les sources existantes afin de t'imprégner des différentes syntaxes avant de te lancer sur ton projet d'OS.
Lorsque tu sauras faire fonctionner des programmes sur différents systèmes, dos, windows, linux...,tu sera mur pour démarrer ton projet.
Je pense que la difficulté ne résidera pas dans l'utilisation de l'assembleur mais plutôt dans l'architecture de ton OS. Mode protégé, multitache, etc...

Pour démarrer avec Nasm, tu peux regarder les quelques sources que j'ai faites.

A+
0
scottmat Messages postés 438 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 23 janvier 2011 1
22 juin 2006 à 21:43
D’abord merci à vous deux d’avoir répondu assez rapidement,
algori j’ai commencé par lire le petit tutorial que tu ma donner qui à l’air pas mal du tout, dommage comme tu dit qu’il ne soit pas fini !
Autrement pour le C++ j’avais acheté TOUS les bouquins de C++ pour l’apprendre en même temps que VB et finalement je me suis diriger vers VB, car un ami (mon ancien prof de compta :p lol) ma initié à VB.
Après j’ai évolué du VB4 au 2005. Je commencer par bouquiner tout de même le C++ qui à l’air intéressant mais plus dur que VB. Je pense que je vais tout de même m’y mettre petit à petit. Petite question à 2Frs : le C++ est issue du C ? Corriger moi si je me trompe.

Et Nasman, je pense que je vais suivre ton conseil, des petits programmes dans un premier temps.

J’ai regardé ta source "EXEMPLES SIMPLES DE FICHIERS ÉCRITS AVEC NASM" qui à l’air pas mal non plus, j’ai exécuté "com16bit" puisque c’est le seul fichier application : Hello World ! A marche :=) après j’ai voulu ouvrir les fichiers ayant l’extension asm avec nasm, sa ne veut pas.
Il me met un message "Not Enough memory for this operation". Traduit bien entendu par "Pas assez de mémoire pour cette opération" ! Comprend pas !
J’ai 1Go donc la mémoire, j’ai regarde dans le gestionnaire des tâches de Windows y’a largement assez. Après j’ai ouvert le fichier avec Visual C++ 2005, nickel ! En plus j’arrive à ouvrir des fichiers plus gros sans problèmes ! Sa viendrai de quoi d’après toi ?
0
cs_Nasman Messages postés 202 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 29 septembre 2008 3
23 juin 2006 à 08:16
Bonjour scottmat,

En fait Nasm sert à compiler les fichiers assembleurs. Ce sont des fichiers qui ont un format texte. Tu peux créer un fichier assembleur avec un éditeur de texte tout bête.
L'extension .asm dans ce cas sert seulement à différencier un fichier assembleur d'un fichier .txt banal.

Personnellement j'utilise le bloc notes pour créer mes sources - Plutôt par fainéantise de chercher autre chose.
si tu créé des fichiers avec l'extension .asm tu devras seulement spécifier dans les types de fichiers l'application qui va les ouvrir. Ce peut être le bloc notes ou autre chose. Par compte je pense qu'il ne faut pas prendre une application trop sofistiquée (comme word) qui va rajouter des tas d'octets inutiles - et qui risquent d'être mal interprétés par Nasm.

A+
0

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

Posez votre question
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
6 juil. 2006 à 21:25
Le meilleur éditeur que j'ai trouvé est ConTEXT, qui possède une coloration syntaxique pour le NASM téléchargeable sur leur site.
0
Rejoignez-nous