Soutenez-nous
Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Membre à l'essai
    Inscrit en
    avril 2011
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 46
    Points : 23
    Points
    23

    Par défaut Problème D -ASM

    Bonjours,

    je bloque actuellement sur un problème dont la réponse est surement simple, mais que je n'ai pus trouver sur internet.

    je cherche a utiliser du code assembleur dans un embrayons de programme, voici le code
    Code :
    1
    2
    3
    4
    5
    6
    asm
        {
    	mov AX,12h  ;
            int 10h	  ;
        }
    et le compilateur m'affiche "end of instruction",
    j'ai essayé de commenter une ligne puis l'autre, sans succès.

    Merci d'avance

  2. #2
    Membre éprouvé

    Profil pro Jonathan MERCIER
    Inscrit en
    mars 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Nom : Jonathan MERCIER
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : mars 2009
    Messages : 349
    Points : 415
    Points
    415

    Par défaut

    Je vais pas t'être d'une grande aide (2h du mat ), mais voici au moins un exemple
    Code :
    1
    2
    3
    4
    5
    6
    asm
    {
        mov EAX, FS:4;
        mov bottom, EAX;
    }
    et un lien

  3. #3
    Membre à l'essai
    Inscrit en
    avril 2011
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 46
    Points : 23
    Points
    23

    Par défaut

    Oui visiblement une première erreur que j'ai faite est de mettre de l'hexa, dans ce cas 12 et 10 deviennent respectivement 18 et 16,

    cependant en faisant cela ça compile mais le programme plante

    concernant ton exemple qu signifie ?

  4. #4
    Membre éprouvé

    Profil pro Jonathan MERCIER
    Inscrit en
    mars 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Nom : Jonathan MERCIER
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : mars 2009
    Messages : 349
    Points : 415
    Points
    415

    Par défaut

    c'est un label pour un goto, le code est tronqué

    sinon tu as essayé avec 0x12 ?

  5. #5
    Membre à l'essai
    Inscrit en
    avril 2011
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 46
    Points : 23
    Points
    23

    Par défaut

    Oui et effectivement ça marche aussi.

    merci pour tes réponses

  6. #6
    Membre à l'essai
    Inscrit en
    avril 2011
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 46
    Points : 23
    Points
    23

    Par défaut

    heu sinon les lignes de code assembleur que j'ai mis provoquent une erreur de type "Access Violation",
    sur digital mars j'ai pus voire que c’était du au fait que DMD compilais pour du 32bit,
    et que Windows bloquais les interruptions bios, comment contourner ce problème ?

  7. #7
    Membre chevronné

    Inscrit en
    mai 2005
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : mai 2005
    Messages : 261
    Points : 609
    Points
    609

    Par défaut

    Mes souvenirs de l'assembleur sont très lointains, mais il me semble que l'interruption 10h c'est pour faire appel au bios en mode réel, ce qui est incompatible avec un le mode protégé 32bits.

    Demande sur le forum asm, mais je crains qu'il ne te faille remplacer les appels au BIOS par les appels systèmes équivalents.

  8. #8
    Membre à l'essai
    Inscrit en
    avril 2011
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 46
    Points : 23
    Points
    23

    Par défaut

    Merci pour toutes vos réponses je crois que cette fois j'ai eu toutes les réponses a mes questions

+ Répondre à la discussion
Cette discussion est résolue.

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
  •