+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Nouveau Membre du Club
    Inscrit en
    avril 2011
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 53
    Points : 32
    Points
    32

    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
    Inscrit en
    mars 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

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

    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
    Nouveau Membre du Club
    Inscrit en
    avril 2011
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 53
    Points : 32
    Points
    32

    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
    Inscrit en
    mars 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

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

    Par défaut

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

    sinon tu as essayé avec 0x12 ?

  5. #5
    Nouveau Membre du Club
    Inscrit en
    avril 2011
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 53
    Points : 32
    Points
    32

    Par défaut

    Oui et effectivement ça marche aussi.

    merci pour tes réponses

  6. #6
    Nouveau Membre du Club
    Inscrit en
    avril 2011
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 53
    Points : 32
    Points
    32

    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
    263
    Détails du profil
    Informations forums :
    Inscription : mai 2005
    Messages : 263
    Points : 663
    Points
    663

    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
    Nouveau Membre du Club
    Inscrit en
    avril 2011
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 53
    Points : 32
    Points
    32

    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
  •