|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 |
|
Membre confirmé
![]() Étudiant Inscription : novembre 2010 Messages : 120 ![]() |
Matarc: tu peux te renseigner sur le format ELF (prit en charge par le noyau Linux et BSD, parmi d'autres) et sur les syscalls qui ne sont pas les même que pour DOS (la recherche "linux+syscalls" donne de très bons résultats sur Google ou le Man 2 de Linux).
|
|
|
00
|
|
|
#22 | |
|
Membre Expert
![]() ![]() |
Je trouve le tuto bien mais mon pc tourne sous win7-64bits. Et j'ai à l'exécution un joli : Le programme ne peut être lancé en 64 bits.
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
|
|
#23 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
Oups ! Désolé.
Comme je n'ai pas de Windows 7 sous la main, il va falloir me donner un peu plus d'informations. Quel chapitre, quelles commandes, quel fichier, ce genre d'informations. Plus ce sera précis et mieux je pourrai chercher une solution.
__________________
http://esauvage.developpez.com |
|
|
00
|
|
|
#24 | ||||
|
Membre Expert
![]() ![]() |
Citation:
Code :
La compilation se produit sans soucis, mais l'OS ne parvient pas à exécuter le .COM obtenu
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
||||
|
10
|
|
|
#25 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
C'est tout ? Pas de message d'erreur ?
En mode de compatibilité windows XP, ça donne quoi ?
__________________
http://esauvage.developpez.com |
|
|
00
|
|
|
#26 |
|
Invité de passage
![]() Vincent Inscription : août 2009 Messages : 1 ![]() |
Bonjour, je tenais tout d'abord à vous remercier pour toutes ces précieuses informations sur l'assembleur, le BIOS, etc...
Je suis votre "tutoriel" avec un grand intérêt. J'en suis au chapitre IV, or je rencontre des difficultés: Je suis sous windows 7 x64, donc bien évidemment dès le début, lorsque j'ai voulu exécuter un programme .com (16bit), windows m'a jeté avec un message explicite. La solution qui fonctionnait jusque là, (attention ce n'est pas forcément la meilleure...), fut d'installer windows Virtual PC, et de créer un ordinateur virtuel sous windows XP. Cette solution a fonctionné jusqu'au chapitre III inclus, mais je ne sais pourquoi, avec le code du chapitre IV j'ai le message d'erreur suivant : ![]() Je pense donc que je vais me rabattre sur la solution "dosbox" que vous avez évoqué concernant windows Vista... Sinon j'ai une question : Dans le chapitre : IV.2. Le refacteur sonne toujours une paire de fois (refactoring) Pour l'instruction LODSB, ne serait-ce pas plutôt l'équivalent de MOV AL, [DS:SI] ; en gardant la syntaxe destination, source (intel) INC SI de même pour STOSB qui devient : MOV [ES:DI], AL INC DI J'avoue que lorsque que j'ai lu le chapitre ce détail m'a perturbé. Enfin encore merci!!! Ps: si vous avez des choses à ajouter sur le sujet je serait ravi de pouvoir les lire... |
|
|
10
|
|
|
#27 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
Bonjour,
Merci de vos compliments, mais n'en jetez plus, je pourrais les croire. En effet, vous avez une interdiction d'accéder aux services vidéo du BIOS à partir de Vista. La machine virtuelle Windows ne restaure peut-être pas l'accès à ces services. Vous m'avez tout l'air d'avoir repéré une coquille, que je m'en vais corriger de ce pas nonchalant (parce que là je suis un poil juste, en temps). Vous trouverez la suite du tuto ici, ou bien les dernières versions, y compris celles en cours de développement là Au plaisir de vous lire,
__________________
http://esauvage.developpez.com |
|
|
10
|
|
|
#28 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 2 ![]() |
Merci pour ce tutoriel, il est extrêmement bien fait!
![]() Mais j'ai malheureusement aussi un problème... Dans le chapitre III.II., on nous montre un code avec des fonction et qui devrais proposer une interaction avec l'utilisateur mais quand je lance le programme, il se contente d'afficher la première ligne de texte et bloque la console alors qu'il devrait afficher cette première ligne puis laisse l'utilisateur entrer une ligne puis l'affiche et affiche une seconde fois le tout premier message... Help... Merci de votre attention
|
|
|
00
|
|
|
#29 |
|
Membre confirmé
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 48 ![]() |
Arf. Je dois préciser : effectuer un "cls" avant de lancer le programme. CLS pour CLear Screen, nettoyer l'écran. Le code, simpliste, ne gère pas le dépassement de l'écran. CLS vous remet en haut de l'écran.
Je mets à jour dès que possible.
__________________
http://esauvage.developpez.com |
|
|
00
|
|
|
#30 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 2 ![]() |
Merci beaucoup sa fonctionne
![]() Cordialement |
|
|
00
|
|
|
#31 | |
|
Expert Confirmé Sénior
![]() ![]() Ingénieur systèmes embarqués Inscription : juin 2009 Messages : 1 717 ![]() |
Je viens de commencer à lire ce tutoriel pour comprendre un peu moins mal le code assembleur obtenu avec des programmes en C. J'apprécie le style d'écriture et je souhaiterais en particulier applaudir la phrase suivante :
Citation:
PS : dans la partie II.4. Des soucis, le premier code contient une phrase qui n'aurait pas dû être dans le code ("Et juste après le JZ, on insère :").
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^ Pour vos problèmes d'embarqué, utilisez le forum dédié ! |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com