Borland & Interuptions

Blustuff Messages postés 20 Date d'inscription jeudi 7 mars 2002 Statut Membre Dernière intervention 27 juin 2007 - 11 mai 2002 à 14:47
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 - 14 mai 2002 à 12:59
Je programme avec Borland C++ Builder 4, version Standard, et TASM32 5.0 comme asembleur, et l'appel d'interruption prooque une erreur de Violation d'acces. Quelqu'un peut-il m'aider ?

Blustuff.

3 réponses

cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
13 mai 2002 à 10:27
-------------------------------
Réponse au message : précise le code STP
-------------------------------

Je programme avec Borland C++ Builder 4, version Standard, et TASM32 5.0 comme asembleur, et l'appel d'interruption prooque une erreur de Violation d'acces. Quelqu'un peut-il m'aider ?

Blustuff.
0
Blustuff Messages postés 20 Date d'inscription jeudi 7 mars 2002 Statut Membre Dernière intervention 27 juin 2007
13 mai 2002 à 18:06
void Date::ObtenirDate()
{
asm
{
pushad
lea edi, this
mov ah, 04h
int 1Ah //!!!!! Ereur de violation d'acces !!!!!!
xor eax, eax
mov al, ch
mov ebx, 100
mul ebx
xor ch, ch
add ax, cx
mov [edi], eax
xor eax, eax
mov al, dh
mov [edi+4], eax
mov al, dl
mov [edi+8], eax
mov ah, 02h
int 1Ah
xor eax, eax
mov al, ch
mov [edi+16], eax
mov al, cl
mov [edi+20], eax
mov al, dh
mov [edi+24], eax
popad
}

JourDeLaSemaine = (int(365.241 * (Annee-2000)))%7 + SAMEDI; //Premier Janvier 2000 est un samedi.
}
0
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
14 mai 2002 à 12:59
-------------------------------
Réponse au message : le problème est assez connu: le linker est en 32 bits alors que tu utilises des interruptions DOS (16bits). J'ai eu le même problème et je n'ai jamais trouvé comment le contourner (sauf en prenant DJGPP comme compilateur)
-------------------------------

void Date::ObtenirDate()
{
asm
{
pushad
lea edi, this
mov ah, 04h
int 1Ah //!!!!! Ereur de violation d'acces !!!!!!
xor eax, eax
mov al, ch
mov ebx, 100
mul ebx
xor ch, ch
add ax, cx
mov [edi], eax
xor eax, eax
mov al, dh
mov [edi+4], eax
mov al, dl
mov [edi+8], eax
mov ah, 02h
int 1Ah
xor eax, eax
mov al, ch
mov [edi+16], eax
mov al, cl
mov [edi+20], eax
mov al, dh
mov [edi+24], eax
popad
}

JourDeLaSemaine = (int(365.241 * (Annee-2000)))%7 + SAMEDI; //Premier Janvier 2000 est un samedi.
}

-------------------------------
Réponse au message :
-------------------------------

-------------------------------
Réponse au message : précise le code STP
-------------------------------

Je programme avec Borland C++ Builder 4, version Standard, et TASM32 5.0 comme asembleur, et l'appel d'interruption prooque une erreur de Violation d'acces. Quelqu'un peut-il m'aider ?

Blustuff.
0
Rejoignez-nous