ECRITURE D'UN *.COM 16 BITS

Signaler
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
-
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39257-ecriture-d-un-com-16-bits

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
12
Je sais que ce sont surtout les fonctions de l'interruption 21h qui sont émulées. Les fonctions considérées comme dangereuses ne le sont que pour le système émulant le DOS. Elles ne le sont pas sous le vrai DOS. Le vrai DOS donne toute la puissance de la machine à l'application. Ce n'est pas le cas avec le DOS émulé.
Messages postés
257
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
29 septembre 2010
1
non les accès aux interruptions -emulées elles aussi- sont autorisée, sauf pour certaines fonctions des "dangereuses" comme la 13h (accès disques), certaines instruction CPU sont aussi interdites (lgdt...) ainsi que l'accès au cr0, cr1...
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
12
vinc1008881 >> Les fichiers .com ne sont pas des exécutables comme les autres. Ils n'ont pas d'en-tête. Le premier élément du fichier est un JMP vers une adresse relative. J'avais beaucoup travaillé sur ce genre d'exécutables dans les années 80 sous MS-DOS. Ils s'accaparent toute la mémoire disponible dans le système. Ils utilisent la pile du système. Bref, plein d'inconvénients. C'est pour cela que les fichiers .exe ont été inventés.
Le DOS 16 bits virtuel sous XP ou autres, n'est pas un vrai DOS. Beaucoup de fonctionnalités sont interdites. L'accès aux ports d'entrée sortie, l'acces aux interruptions etc. Mêmes certains programmes ne faisant pas appel à ces fonctionnalités refusent de tourner en mode virtuel ou plantent sans raison apparente. Ce n'est pas facile d'émuler un vrai DOS car pour cela il faut lui laisser l'accès à toutes les ressources du système.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
Exact, sur un OS full 32 c'est le système qui émule un environnement 16 bits.
Ceci dit, bien d'accord que ça ne rime plus à rien de perdre son temps avec cela, obsolète depuis des lustres.
Afficher les 7 commentaires