!Int 33h

Pour discuter de l'assembleur
Avatar de l’utilisateur
SPH
Messages : 4726
Inscription : mer. 09/nov./2005 9:53

!Int 33h

Message par SPH »

Salut Tonton, et aux autres ASMiens,
Je souhaitais utiliser pour la premiere fois une interruption sous PB. Mais voila, PB me detecte une erreur (non pas dans ce code asm, mais dans une instruction PB) : INVALID MEMORY ACCES

Appel a int 33h pour lire (ax=3) les coordonnees souris :

Code : Tout sélectionner

!mov ax,3
!Int 33h
!mov [v_xm],cx
!mov [v_ym],dx
Qu'est ce qui se passe ?? :o
erix14
Messages : 480
Inscription : sam. 27/mars/2004 16:44
Contact :

Message par erix14 »

Depuis je ne sais plus quelle version de Windows, celui-ci interdit les interruptions pour des raisons de sécurité. J'avais lu un article là-dessus il y a déjà quelque temps... Je ne peux en dire plus, fait des recherches sur Google.
Avatar de l’utilisateur
SPH
Messages : 4726
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Zoké
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

depuis Nt, il me semble

pat
tonton
Messages : 315
Inscription : mar. 26/avr./2005 15:19

Message par tonton »

Windows XP travaille en ring3, c est un niveau de privilège sécurisé qui interdit tout accès
aux données du bios et a ces routines .
pour pouvoir utiliser les interruptions du bios , il faut passer en ring0, qui lui, permet un accè
a toute la mémoire du systèmes.Des astuces capricieuses permettent de passer sous ce mode, mais sont complexes a mettre en œuvre. Je me suis moi-même cassé les dents .Je n ai trouvé aucun code assembleur qui n utilise pas de drivers spéciaux(colgate, api..). Inutile de dire qu il est plus sage d’ utiliser les fonctions purebasic, a moins que tu sois un grand aventurier.
Répondre