c koi "la memoire ne peut pas etre read"???

c koi "la memoire ne peut pas etre read"??? - Programmation

Marsh Posté le 10-06-2001 à 18:56:43    

qd je veu passer en mode graphique (dans de lassembleur dans du c) g lerreur:
linstruction a Ox00401038 emploie ladresse memoire Oxffffffff. la memoire ne peut pas etre read.....
pourkoi?
voila le source:
#include <iostream.h>
 
void main (void)  
{  
__asm  
      {  
       
   int 12h
 
   }  
 
}


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 18:56:43   

Reply

Marsh Posté le 10-06-2001 à 19:02:04    

T'es sous windows 2000 ou NT? L'adresse memoire 0xfffffh n'existe pas tu as clairement un access memoire qui foire a mon avis il refuse de faire l'interruption sous windows NT c'est surement protege a cause du mode processeur protege! Mais c'est peut etre pas ca du tout. Essaye sous dos si tu en as l'occasion!

Reply

Marsh Posté le 10-06-2001 à 19:09:58    

oui je suis sous 2000 . le mode protege tu dis?
je v ller jeter un coup deuil de ce cote la....
mais avc un compil assembleur qd y a ke de lassembleur ca marche ca....


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 19:28:03    

Le mode protege oui : sous windows (enfin je crois) le processeur passe en mode protege(32bits) et la y a normalement plus d'interruption ...
Mais ton truc marche sous 2000 avec un compilo assembleur?

Reply

Marsh Posté le 10-06-2001 à 19:30:17    

oui! c ca ki menbete!


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 19:38:50    

oublie ce que je viens de te dire c pas faux mais c'est pas la qu'est le bleme. Tu peux pas appeller ta fonction(enfin module) asm depuis le c?

Reply

Marsh Posté le 10-06-2001 à 19:39:54    

sous 9x,NT, 2k t'est toujours en mode protege.
Les interruptions continuent d'exister mais sont seulement emules (simules) par le systeme pour garder la compatibilte avec les vieilles applis. Passer en mode graphique n'a par contre pas de sens, t'es deja en mode graphique :) d'ailleurs si mes souvenirs sont bons c'etait int 10h et pas 12h pour passer en mode graphique et n'a de sens que si t'execute ton prog sous dos.
Utilise donc plutot l'api win32 pour faire des zolis dessins.

Reply

Marsh Posté le 10-06-2001 à 19:41:51    

ben oui je peux lappeler....
et comment on sen sert de cette api win32??


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 19:44:23    

t'as quoi comme compilo c/c++ sous la main?

Reply

Marsh Posté le 10-06-2001 à 19:44:47    

Bien vu wpk pour le mode graphique j'y avais pas pense et en reflechissant c'est vrai que on est en protege sous windows 9x aussi. Ben le plus simple serait d'utiliser Delphi ou C++ Builder.  :D

Reply

Marsh Posté le 10-06-2001 à 19:44:47   

Reply

Marsh Posté le 10-06-2001 à 19:46:04    

visual c++


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 19:48:22    

Ben alors c du tout cuit ....  :D

Reply

Marsh Posté le 10-06-2001 à 19:51:13    

ben pas si cuit ke ca....
enfin keske tendends par "tout cuit"?


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 19:51:19    

ouep vc++ c'est parfait, par contre avec juste le c tu va avoir un choc. Utilise plutot les mfc : tu utilise le wizard pour te creer un petit projet dialog -> ca va creer un fenetre ou tu va pouvoir dessiner a souhait.

Reply

Marsh Posté le 10-06-2001 à 19:52:14    

je regarde ca tt de suite


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 19:58:30    

oula je comprends rien.... moi ce ke je veux c programmer un pong, g besoin d'une fonction... afficher un pixel! la je my perds....


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 20:04:39    

T'es oblige de faire ca sous windows ? Euh tu peux jouer avec directx mais pour un png c un peu lourd ...

Reply

Marsh Posté le 10-06-2001 à 20:05:58    

excuse moi den revenir a ma question mais y a un moyen que ca marche??


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 20:10:12    

Hehe je sais pas ! peut etre en appelant le module asm depuis windows si tu dis que ca marche quand tu joues juste avce de l'asm.

Reply

Marsh Posté le 10-06-2001 à 20:13:31    

?(desole je suis pas un superpro)


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 20:27:03    

:??: de quoi parle tu

Reply

Marsh Posté le 10-06-2001 à 20:30:02    

bon, si t'as pas envie de te faire chier avec windows, essaye l'asm, tu l'as la liste de toutes les interruptions ? parce que pour passer en mode graphique, il suffit pas d'appeller l'int 10h, faut aussi fournir le mode que tu desire dans eax.


---------------
"Si ton labeur est dur, et si tes résultats sont minces, rappelle-toi  
Reply

Marsh Posté le 10-06-2001 à 20:31:17    

et meme d'autre trucs je pense ....  :D

Reply

Marsh Posté le 10-06-2001 à 20:35:48    

Citation :


et meme d'autre trucs je pense ....    


juste pour passer en mode graphique, je crois que eax suffit, ensuite ca se complique un peu  :D  (s'il se contente de du mode 13h ca devrait aller sinon...)


---------------
"Si ton labeur est dur, et si tes résultats sont minces, rappelle-toi  
Reply

Marsh Posté le 10-06-2001 à 20:47:12    

Heu je parlais des codes d'erreur ou success en retour mais je me souviens plus des registres utiles ca fait longtemps  :D

Reply

Marsh Posté le 10-06-2001 à 20:52:31    

en asm avec mon compilo dos, ca marche, mais c avec vc++ que ca deconne.
sinon, y a pas moyen de linker le prog en c avec le fichier obj ke g cree en asm tout cour ou un truc comme ca?
me servir de mon .obj comme dune librairie quoi!


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 20:57:27    

ca j'ai su le faire avec du Pascal mais je me rapelle plus du tout . Tu dois surement declarer ta fonction ams comme externe en c et linker les 2 obj. a mon avis

Reply

Marsh Posté le 10-06-2001 à 21:08:53    

ca m'a l'air complexe tout ca... la declare externe? kesdonc?


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 21:14:31    

Laisse tomber l'ASM, plus personne ne l'utilise sur PC (sauf quelques mordus).

Reply

Marsh Posté le 10-06-2001 à 21:16:57    

Verdoux a immensement raison mais bon :  
extern int mafonction(int,int);

Reply

Marsh Posté le 10-06-2001 à 21:21:31    

moui et je mets koi ds ma fonction por kil me renvoie a ma fonction de changement de mode?


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 10-06-2001 à 21:33:34    

ben en c tu appelle cette fonction externe come une fonction normale mainteannt ya des blemes avec les retour de parametre et je m'y connais pas tres bien en asm donc j'en sais pas plus!

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed