|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
Bonjour,
Vous trouverez à cette adresse : http://esauvage.developpez.com/tutor...tel-avec-nasm/ un parcours du combattant, un cheminement de quelqu'un qui, partant d'à peu près rien, essaye d'arriver à pas beaucoup plus mais quand même. Ce n'est pas vraiment un tutoriel parce que ça n'a pas d'objectif précis, ce n'est pas un cours car c'est riche en approximations. C'est plutôt le suivi d'un trappeur face à l'immensité canadienne. Néanmoins, comme j'ai remarqué que visiblement et contre toute attente, ça intéresse des gens, je crée cette discussion afin de recueillir les retours éventuels. Cordialement, Le chevalier au taureau. |
|
|
60
|
|
|
#2 |
|
Membre habitué
![]() ![]() Inscription : mars 2011 Messages : 99 ![]() |
Merci pour le tuto, c'est vraiment sympa de ta part.
|
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Julien BodinIngénieur développement logiciels Inscription : février 2009 Messages : 456 ![]() |
Super article, j'aime beaucoup (le fond et la forme
|
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Doctorant en Astrophysique Inscription : mars 2009 Messages : 284 ![]() |
C'est absolument génial !
![]() J'adore la manière dont c'est écrit. |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Tuatini GODARDDéveloppeur Java Inscription : décembre 2010 Messages : 69 ![]() |
Superbe!! Merci beaucoup c'est exactement ce qu'il me fallait
|
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
Merci à tous.
Néanmoins, si vous avez des questions, n'hésitez pas.
__________________
http://esauvage.developpez.com |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Julien BodinIngénieur développement logiciels Inscription : février 2009 Messages : 456 ![]() |
|
|
|
00
|
|
|
#8 | |||
|
Membre habitué
![]() ![]() Inscription : mars 2011 Messages : 99 ![]() |
O fet,
Lorsque j'utilise NASM, il compile bien le programme mais à l’exécution , il dit que nasm ne peut pas exécuter le programme .com J'utilise ton exemple là : Code :
Ca marche bien , mais à l'exécution ca donne Citation:
__________________
Innovation = Blending of idea , science and practice engineering |
|||
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
La suite est en préparation ici :
http://esauvage.developpez.com/tutor...m/nasm-protege C'est étrange, je viens de le refaire, chez moi il n'y a aucun souci. Cette commande suffit : Le fichier hello.com fait-il bien 24 octets ?
__________________
http://esauvage.developpez.com |
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() ![]() Inscription : mars 2011 Messages : 99 ![]() |
Le fichier *.com est bien de 24octets,mais meme en utilsant ta méthode de compilation, le message ce ré affiche ,
J'ai utilisé le TASM pendant 1 ans demi mais en lisant ton tuto je pense de changer de compil(surtout le bootloader), J'utilise le nasm 2-2.09.07
__________________
Innovation = Blending of idea , science and practice engineering |
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
Mm. Ennuyeux. Quel système d'exploitation ? Il faudrait peut-être essayer le mode de compatibilité XP ? J'arrive à le lancer sous XP, même en passant par l'interface graphique.
Personnellement j'ai la version 2.07 du 19 juillet 2009.
__________________
http://esauvage.developpez.com |
|
|
00
|
|
|
#12 | |
|
Membre chevronné
![]() être humain Inscription : décembre 2007 Messages : 471 ![]() |
fasmw aussi il est pas mal pour coder en asm.
suffit de cliquer sur un seul bouton ![]() pour les inconditionels de la ligne de commande, il n'y a même pas besoin de paramètres autres que le fichier d'entrée: Citation:
|
|
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() ![]() Inscription : mars 2011 Messages : 99 ![]() |
Ahhh! Peut être que c'est un problème de OS, car j'utilise VISTA
__________________
Innovation = Blending of idea , science and practice engineering |
|
|
00
|
|
|
#14 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
Ca doit être ça. Décidément, j'ai Vista en horreur (c'est, j'en conviens, un a priori). Bon, alors d'autres personnes ont renconté le même problème (faire fonctionner des programmes DOS sous Vista) et différentes solutions ont émergé :
- Utiliser DOSBox; - Lancer "cmd.exe" en mode de compatibilité inférieure (ce qui m'a l'air d'une horrible traduction) et en tant qu'administrateur; - Utiliser une machine virtuelle, avec FreeDOS dessus; - etc. Je ne sais pas laquelle est la meilleure, n'ayant pas de Vista sous la main. Mais je veux bien être tenu au courant des avancées dans ce domaine, ça me permettrait d'être à jour.
__________________
http://esauvage.developpez.com |
|
|
00
|
|
|
#15 | |
|
Invité régulier
![]() Inscription : février 2009 Messages : 23 ![]() |
Je ne sais pas si je dois le signaler ici, mais j'ai noté une petite erreur sur cette page.
Dans le paragraphe VIII.1.a. L'architecture des premiers Personal Computers, je cite : Citation:
Bonne journée PS : Félicitations pour l'initiative de ce tutorial (sujet peu traité de manière simple et exhaustive en français) et pour les qualités de rédaction qui le rendent très agréable à lire ! |
|
|
|
10
|
|
|
#16 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
N'effet, je devais être saoul. Corrigé et cité.
Merci. P.S. Merci aussi pour ça.
__________________
http://esauvage.developpez.com |
|
|
00
|
|
|
#17 |
|
Futur Membre du Club
![]() Thierry POTIERDéveloppeur COBOL Inscription : avril 2011 Messages : 10 ![]() |
Amusant ce tutoriel. Un brin nostalgique. Cela me rappelle mon DUT et les cours d'assembleur Z80. Comme TP on avait à écrire des routines Entrée-Sortie (Affichage écran, Saisie clavier, lecture et affichage d'un secteur de disquette). En gros réécrire une petite partie de l'OS. C'était le début du PC et de MSDOS. En fonction de la compréhension de chacun une même routine pouvait tenir en 20 lignes ou 200 ! Il y avait un petit futé qui avait fait tenir ses programmes en 5 lignes : il se contentait de faire appel aux fonctions du DOS (il s'était procuré une documentation américaine explicitant ces fonctions !). Merci de ce moment de divertissement.
|
|
|
10
|
|
|
#18 | ||
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 35 ![]() |
Bonjour à tous !
Tout d'abord merci pour cet article, je n'ai fait que le feuilleter rapidement mais il a super bien fait, exactement ce que je recherchais ! J'ai une petite question cependant, j'ai vu sur le site de NASM que le logiciel est multiplateforme, notamment utilisable sous Linux et BSD. Est ce que les codes fournis dans ton article sont utilisables sous d'autres OS ou est ce qu'un OS Windows est absolument indispensable ? Le premier code qui me vient à l'esprit est le suivant : Code :
Est ce qu'en dehors de ça il y d'autres choses qui pourraient posaient problème en terme de compatibilité ? Cordialement Matarc |
||
|
|
10
|
|
|
#19 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
Bonjour,
Ne serait-ce qu'à cause de int 0x21, il s'agit d'un code DOS. Uniquement DOS. Il se trouve que Windows contient DOS quelque part, tout au moins jusqu'à la version Vista, et que par conséquent, ce code est exploitable sous Windows. Tous les codes de l'article utilisant un système d'exploitation sont conçus sous Windows et ne peuvent fonctionner tels quels sous un autre système d'exploitation. L'en-tête ne fera pas 256 octets sous un autre système d'exploitation, parce qu'il utilisera à coup sûr un autre format de fichiers exécutables. C'est d'ailleurs l'une des raisons pour lesquelles un programme Windows ne tourne pas sous Mac. Pour Linux, il faut jouer avec les segments, et la directive org a moins de raisons d'être. De surcroît, il me semble me souvenir que la sortie de l'exécutable est manuelle. Bref, la compatibilité est loin d'être garantie et ne saurait être trouvée avec ce simple code. C'est la gestion des segments et l'utilisation de bibliothèques multi-plateforme qui permet la compatibilité. En espérant avoir été clair et répondu à la question,
__________________
http://esauvage.developpez.com |
|
|
10
|
|
|
#20 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 35 ![]() |
Merci d'avoir pris le temps de me répondre, je vais alors essayer de suivre cet article en cherchant de la doc en parallèle pour pouvoir faire ça sous linux.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com