probleme d'affichage de caracteres - C - Programmation
Marsh Posté le 24-10-2006 à 16:35:12
carot0 a écrit :
|
Code :
|
Le 0 finit une chaine de caractères en C.
Marsh Posté le 24-10-2006 à 17:08:41
_darkalt3_ a écrit :
|
oui et ... dans text il y est bien!
meme si il etait pas le for devrait quand meme afficher "hello world" avec d'autre truc derriere
Marsh Posté le 24-10-2006 à 17:11:52
ReplyMarsh Posté le 24-10-2006 à 17:19:54
_darkalt3_ a écrit : Ca plante comment dans ce cas ? |
ca fige et je commence a trouver des idées de reponse :
Code :
|
cette condition pose probleme, le texte ne s'affiche pas quand elle est activé ( un caractere ca passe pas mais pas plusieurs....)
si j'enleve le positionX=0; tout marche bien ( mais je dois le mettre a 0 ! )
Marsh Posté le 24-10-2006 à 19:07:00
carot0 a écrit :
|
Y'avait longtemp que je n'avais pas vu ce genre de code... Tu es sous DOS ?
Marsh Posté le 24-10-2006 à 22:01:25
Emmanuel Delahaye a écrit : Y'avait longtemp que je n'avais pas vu ce genre de code... Tu es sous DOS ? |
encore mieux : je code mon propre kernel ( le mot est fort mais decrit bien la situation )
Marsh Posté le 24-10-2006 à 23:04:34
carot0 a écrit : encore mieux : je code mon propre kernel ( le mot est fort mais decrit bien la situation ) |
OK. Tu es donc en mode réel, c'est ça ? Les adresses physiques et logiques sont les mêmes, pas de MMU. On est d'accord ?
Marsh Posté le 25-10-2006 à 09:17:28
Emmanuel Delahaye a écrit : OK. Tu es donc en mode réel, c'est ça ? Les adresses physiques et logiques sont les mêmes, pas de MMU. On est d'accord ? |
je suis passé en mode protégé, j'ai une gdt pour avoir des adresses logique ( et plus un segment et un offset )
les adresse logique et physique ne doivent pas etre les meme car je n'ai pas mis en place la pagination
je ne doit pas avoir de MMU ( vu que j'ai rien codé a ce sujet la ).
Marsh Posté le 25-10-2006 à 10:52:45
carot0 a écrit : je suis passé en mode protégé, j'ai une gdt pour avoir des adresses logique ( et plus un segment et un offset ) |
Et en mode protégé, un pointeur initialisé en dur comme
Code :
|
ça a un sens ?
Marsh Posté le 25-10-2006 à 11:25:39
Emmanuel Delahaye a écrit : Et en mode protégé, un pointeur initialisé en dur comme
|
oui c'est l'adresse de la mémoire video pour le mode console 80x25.
Marsh Posté le 25-10-2006 à 13:07:58
carot0 a écrit : oui c'est l'adresse de la mémoire video pour le mode console 80x25. |
Oui, on sait bien, en mode réel. Mais en mode protégé ? Ca correspond à la même adresse physique ? Y'a pas une histoire de GDT justement ?
Et quid du mode noyau ou utilisateur. Tu autorises un utilisateur à bricoler dans la mémoire video ? C'est pas plutôt des drivers en mode noyau qui font ça ?
Est-ce qu'il ne faut pas écrire une fonction système utilisable uniquement en mode noyau, et qui retournerait l'adresse logique d'une adresse physique (il y a un truc comme ça sous Linux), genre :
Code :
|
Je me pose des questions, c'est tout. Comme tu es en train d'écrire un noyau d'OS, ça peut avoir son importance...
Marsh Posté le 25-10-2006 à 13:54:45
Emmanuel Delahaye a écrit : Oui, on sait bien, en mode réel. Mais en mode protégé ? Ca correspond à la même adresse physique ? Y'a pas une histoire de GDT justement ?
|
la j'en suis justement au drivers de la console. en mode protégé cest bien cette adresse la.
une gdt est bien presente pour transformer les segment + offset en adresse logique ( pour les adresse physique ca doit etre lier a la pagination dont je ne me suis pas encore occupé! )
Marsh Posté le 24-10-2006 à 15:43:27
slt tlm, j'ai une fonction pour afficher une caractere mais elle ne semble pas se comporter comme je le souhaite.
si je fais un car('t');
ca marche pas de probleme
par contre
la ca plante... je comprends pas pourquoi...
---------------
In a world without walls and fences, who needs Windows and Gates