IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation d'OS Assembleur Discussion :

Gestionnaire d'interruptions : erreur de syntaxe avec l'opcode call


Sujet :

Programmation d'OS Assembleur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Gestionnaire d'interruptions : erreur de syntaxe avec l'opcode call
    Bonjour, dans le but de mon projet, je code en assembleur Intel un gestionnaire d'interruption, tous les symboles sont identique pourtant lors de l'assemblage nasm me sort une erreur de syntaxe, voici mon code : http://pastebin.com/f4d9e452e

    Les erreurs sont aux lignes 41 et 55

    Merci d'avance.

    Cordialement Link/DD

  2. #2
    Membre régulier

    Femme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Décembre 2007
    Messages : 67
    Points : 90
    Points
    90
    Billets dans le blog
    1
    Par défaut
    Vérifie que tes routines d'interruption existent bien (int1, int3).

    Les assembleur n'ont pas toujours des messages très parlant.
    A mon avis, dans ton cas, de 3 choses l'une, soit les routines externes int1 et int3 n'existent pas, soit c'est l'ordre d'assemblage de tes fichiers asm qui pose problème (symbole peut-être non reconnu par l'assembleur si le fichier asm des ces routines int1 et int3 n'est pas assemblé avant -> supposition de comportement....), soit tu as des caractères style tabulation dans la ligne et il n'aime pas...

    Voili voilou,
    donne des news de tes avancées, si çà a pu t'aider...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    La fonction est definie et compile avant int_manager.asm, il y a en effet une tabulation avant l'opcode call comme tout les autres symboles, c'est un vulgaire copier coller des autres gestionnaires avec un modification du numéro, donc pourquoi y a-t-il une erreur seulement a ces lignes ci, et pas aux autres lignes

  4. #4
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    int3 et int1 sont des symboles reservés, en effet, ce sont des instructions.
    int3 = int 3 = intO ; interrupt on overflow.
    int1 = int 1 ;interrupt on je ne sais plus quoi.
    c'est marqué dans la doc intel.

    voilà. c'est tout

    fasm, il te l'aurait dit ça: reserved word used as symbol : int1
    apres fix, il aurait dit: reserved word used as symbol : int3
    et apres, tout serai rentré dans l'ordre.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Ok merci, je corrige cela, et j'edite ce message pour vous dire quoi

  6. #6
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Citation Envoyé par edfed Voir le message
    int3 = int 3 = intO ; interrupt on overflow.
    int1 = int 1 ;interrupt on je ne sais plus quoi.
    c'est marqué dans la doc intel.
    Juste une petite remarque :

    - Int3 est différent de INTO. C'est l'interruption qui sert à poser des points d'arrêts (opcode : 0xCC). L'interruption Int n (avec n = 3, opcode 0xCD 0x03) se comporte un peu différemment mais aucune des deux ne sert à l'interruption sur dépassement.

    - Int1 est l'interruption de pas à pas (opcode 0xF1), similaire au fait d'armer le TF de (R)FLAGS. L'interruption Int n avec n = 1 (opcode : 0xCD 0x01) a un comportement légèrement différent.

  7. #7
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    autant pour moi, je ne connait pas par coeur, et j'ai fait une erreur de me fier à mes souvenirs.

    quoi qu'il en soit, int3 et int1 sont des symboles reservés.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Probleme regle

    Merci beaucoup.

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

Discussions similaires

  1. erreur de syntaxe avec unload et select
    Par jerry tekobon dans le forum Langage SQL
    Réponses: 4
    Dernier message: 03/06/2009, 10h47
  2. [PHP 4] Erreur de syntaxe avec Implode
    Par jmtrivia dans le forum Langage
    Réponses: 2
    Dernier message: 13/05/2009, 18h43
  3. [POO] Erreur de syntaxe avec une classe
    Par sirbaldur dans le forum Langage
    Réponses: 5
    Dernier message: 10/01/2007, 13h30
  4. [Conception] Erreur de syntaxe avec un champ de tableau
    Par lodan dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 21/09/2006, 11h45
  5. Erreur de syntaxe avec UPDATE
    Par tyarak dans le forum Requêtes
    Réponses: 3
    Dernier message: 01/02/2006, 01h18

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