Je suis en train de faire un petit programme de dump mémoire. Mon but est très simple : dumper le code du BIOS (le contenu du segment F000) dans un fichier.
Après quelques expérimentations, je suis assez dubitatif avec la gestion de la segmentation avec le C.
Le C n'a pas été crée dans l'idée d'une mémoire segmentée, et donc TurboC l'a étendu C avec la notion de 'far pointers':
Code : Tout sélectionner
int far *ptr;
Quand j’appelle la fonction 'write' par exemple pour écrire dans un fichier, elle prends un 'void *', pas un 'void far *'.
Du coup, j'ai l'impression que je ne peux pas utiliser les fonctions standard pleinement et qu'il faut que je copie en premier les données 'far' dans le segment courant du programme.
Quelqu'un a un avis sur la question ?