J'utilise l'assemblage en ligne dans Visual C++ et j'essaie depuis maintenant des jours d'obtenir int 21h pour fonctionner avec mon programme. D'autres interruptions fonctionnent (int 3) ce qui m'amène à croire soit que j'appelle mauvais 21h soit bloqué d'une façon ou d'une autre. Je reçois seulement une erreur d'exécution quand j'utilise int 21h. Si je le commente, ça peut déplacer les registres correctement.Utilisation de int 21h avec l'assemblage en ligne
Jusqu'à présent, je suis devenu cela ensemble:
int _tmain(int argc, _TCHAR* argv[])
{
__asm {
mov ah, 1h
int 21h
mov dl, al
mov ah, 2h
int 21h
}
}
Probablement c'est une erreur de segmentation. Vous ne pouvez pas utiliser ints dans les applications 32 bits autant que je sache. – BlackBear
Comme indiqué, d'autres interruptions fonctionnent. int 3 réussit à créer des points d'arrêt sans erreur. Le seul que je semble avoir des problèmes avec int 21h. – ozdrgnaDiies
Quel genre de programme est-ce? Int21h est une interruption DOS. –