|
Auteur | Sujet : programmation graphique 800*600 |
---|
Publicité | Posté le 15-06-2004 à 14:13:51 |
ptitchep | #pragma intrinsic (Show_Mouse) |
ptitchep |
|
ptitchep | dsl pour le double message, fausse manip... |
bjone Insert booze to continue | c'est un exemple ou le driver souris est appellé pour afficher la souris. |
ptitchep | et pour ajouter simplement de l'assembleur du style
|
HelloWorld Salut tout le monde! |
bjone Insert booze to continue | ça peut être plus chiant.
|
ptitchep | Après bien des complications, j'ai réussi a creer un prog en assembleur mode protégé mais maintenant, quand je défini mon mode vidéo 800*600*8 je ne peux pas obtenir l'adresse de la mémoire vidéo parceque la fonction 4f01h de l'int 10h demande que es:[di] pointe sur un buffer de 256 octets, or je n'ai plus de segments... et l'int ne marche pas!...
|
bjone Insert booze to continue | hé ouiiiiiiiiii
|
Publicité | Posté le 17-06-2004 à 00:30:27 |
bjone Insert booze to continue | valà c'est ça:
|
bjone Insert booze to continue | autant pour moi l'asm en ligne a été rajouté à la version 11 !!! |
ptitchep | Merci bien, je vais voir ce que je peux en tirer... |
ptitchep | Ok l'interruption 31h fonctionne, j'obtient bien un segment en retour mais des que je modifie es, le programme plante sauf si je modifie es comme ca:
|
HelloWorld Salut tout le monde! | mov es, <val> ?
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
ptitchep | ouais mais |
bjone Insert booze to continue | en mode protégé, les registres de segments sont des sélecteurs: des pointeurs sur une table décrivant le segment, qui sera chargé dans un cache spécialisé au moment de la modification du registre.
|
HelloWorld Salut tout le monde! | En mode protégé modifier un registre de segment est une instruction privilégiée aussi. --------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
bjone Insert booze to continue | exact, mais comme avec un DosExtender, l'appli est en ring 0 |
ptitchep | C'est cool ça marche j'ai obtenu une zone de mémoire que je peux remplir, je l'ai rempli avec des caractères que j'ai affichés avec l'int 21h. Le seul prob c'est que la fonction 4f01h de l'int 10h me renvoie tjs une opération non conforme meme avec le bon es et le bon di (j'ai vérifié avec soft-ice)
|
bjone Insert booze to continue | -je suis con-
|
bjone Insert booze to continue | bon blague que j'ai totallement zappé:
Message édité par bjone le 17-06-2004 à 19:32:48 |
bjone Insert booze to continue | tiens la librairie que je m'étais faite à l'époque:
|
ptitchep | Moi aussi j'aime bien tout coder en asm c'est plus rigolo pour debugger!
|
ptitchep | Euh...
|
bjone Insert booze to continue | par rapport à l'appel DPMI ? |
bjone Insert booze to continue | delete ton autre topic http://forum.hardware.fr/hardwaref [...] 3440-1.htm |
ptitchep | comment je fais pour le virer?
|
bjone Insert booze to continue | tu l'édites, et tu as une case à cocher pour le supprimmer.
|
bjone Insert booze to continue | la description de la structure est là:
|
ptitchep | Je n'ai aucun problème pour "émuler" (je c pas si ce mot peux s'employer) en mode réel certaines interruption (choix du mode 800*600*8, affichage d'une chaine de caractères).
|
ptitchep | dsl pour le smiley je voulais dire es: di |
bjone Insert booze to continue | attention, avec la fonction 4f01h, c'est toi qui défini le ES:DI avant l'interruption mode réel (donc la structure).
|
bjone Insert booze to continue | lol |
ptitchep | j'ai dans mes données des variables
|
bjone Insert booze to continue | dans la structure contenant le contexte de registre, dans ES : DI, tu dois mettre le segment : offset (mode réel) du buffer pour la fonction 4f01h.
|
ptitchep | Ca commence a faire un bout de tps que je m'arrache les cheveux la dessus...voila mon code, je capte pas pourquoi ça marche pas:
|
bjone Insert booze to continue | stop.
|
ptitchep | quand je mets ce qu'il y a dans ax dans es, j'ai une opération non conforme pas avec ce qu'il y a dans dx
|
bjone Insert booze to continue | AX, le segment réel du buffer alloué, c'est dans ES de la structure qu'il faut le mettre.
|
bjone Insert booze to continue | perso je prefère avoir ES&DS qui sont au même sélecteur, et de linéariser les segment mode réel en adresse linéaire/physique. |
Publicité | Posté le |
Sujets relatifs | |
---|---|
programmation 32 bits | interface graphique (ms VC++ 6 // Borland C++ builder) |
Interface graphique : comment docker des JPanel de maniere définitive? | Liste des languages de programmation. [Scriptol vous connaissez?] |
Petit Probleme de programmation | l'affichage graphique sous visual fortran avec developer studio |
affichage graphique menu langage C | Programmation en Vax |
Programmation OS & API Windows | algorithme et programmation en langage c |
Plus de sujets relatifs à : programmation graphique 800*600 |