Publicité
+ 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 : 5
    Points
    5

    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 :
    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
    471
    Détails du profil
    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : décembre 2007
    Messages : 471
    Points : 623
    Points
    623

    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 : 5
    Points
    5

    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 ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •