p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité régulier Avatar de fred_sell
    Inscrit en
    juin 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : juin 2009
    Messages : 106
    Points : 6
    Points
    6

    Par défaut une interruption avec MASM

    bonsoir

    je voudrais tester avec MASM l'interruption 63h/AH=03h, mais je ne sais pas l'erreur que je fait (ça se plante à l’exécution)

    voilà le programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    .386
    .model flat,stdcall
    option casemap:none
     
    include masm32rt.inc
     
    .data
    buffer byte 32 DUP(0)
     
    .code
    start:
    	mov esi,offset buffer
    	mov ah,3
    	int 63h
     
    	inkey "appuyez sur une touche pour sortir..."
    	exit
     
    end start
    en debogant, j'ai vu en executant la ligne "int 63" qu'il me donne l'erreur suivante : Access violation when reading [FFFFFFFF] - passed to application

    la doc de l'interruption est :
    BW-TCP - TCPIP.SYS - GET IP ADDRESS

    AH = 03h
    DS:SI -> buffer for DWORD IP address (big-endian)

    Return:
    AX destroyed
    CF clear if successful CF set on error
    avant de faire ce post, j'ai lu le lien ici, mais je n'ai pas beaucoup avancé !

    Quelle est l'erreur que j'ai fait ? et est ce que j'ai oublié un detail que je n'ai pas cité ?

    merci

  2. #2
    Membre chevronné
    Avatar de edfed
    être humain
    Inscrit en
    décembre 2007
    Messages
    476
    Détails du profil
    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : décembre 2007
    Messages : 476
    Points : 627
    Points
    627
    Billets dans le blog
    1

    Par défaut

    où est l'initialisation du segment DS?

  3. #3
    Invité régulier Avatar de fred_sell
    Inscrit en
    juin 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : juin 2009
    Messages : 106
    Points : 6
    Points
    6

    Par défaut

    apparemment il n'y en a pas ici
    j'ai déjà initialisé le DS mais il se peut que je l'ai mal fait car le "int 63" ne marchait pas

    pourriez vous me corriger le code pour qu'il marche ?

Discussions similaires

  1. [16 bits] Interruptions avec masm
    Par chep dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 15/06/2004, 13h06
  2. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Général Algorithmique
    Réponses: 8
    Dernier message: 29/12/2002, 18h48
  3. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39
  4. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21
  5. couper une connection avec un serveur corba
    Par pons dans le forum CORBA
    Réponses: 3
    Dernier message: 31/05/2002, 10h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo