+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  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 ?