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 :

Variables à comportement étrange


Sujet :

Programmation d'OS Assembleur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Par défaut Variables à comportement étrange
    Bonjour,

    Je bute depuis des jours...J'ai un problème bizarre dans l'exécution du Kernel de mon OS ! Des variables (mais pas toutes) semblent ne pas mémoriser la valeur que je leur donne !

    Exemple : j'affecte une valeur à [X] et [Y]. [Y] est bien pris en compte, mais pas [X]. Si j'intervertis les deux lignes où sont déclarées ces variables, c'est [X] qui est bien pris en compte, mais pas [Y] !

    Voici à quoi ressemble mon kernel, chargé par un boot en 0x0100:0000 mode réel (nasm) :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    [bits 16]
    [org 0]
     
    jmp start
    %include 'Fonctions.asm'
    start:
     
    ;Instructions
    mov ax, 0x100
    mov es, ax
    mov ds, ax
    mov ax, 0x8000
    mov ss, ax
    mov ax, 0xF000
    mov sp, ax
     
    mov ax, 1
    mov [X], ax
    mov ax, 2
    mov [Y], ax
    call FctUtilisantXetY
     
    ;Autres instructions
    ;...
     
    ;Boucle de fin
    Fin:
    jmp Fin
     
     
    ;Variables
    X dw 0
    Y dw 0
    En fait, mon Kernel contient 150 octets de variables (env 30 variables dont des chaines), et fait dans les 1000 octets. Y a t'il des chevauchements possibles des instructions sur les données ? Enfin, qu'est ce qui cloche ? Si il faut je placerai demain tous les fichiers de prog !

    D'avance merci !

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Par défaut
    J'ai trouvé l'erreur ...

    En fait j'affectais ax à une variable V1 de 8 bits...Donc la variable V2 déclarée juste après V1 était modifiée et c'est pour cela que j'avais l'impression qu'elle se comportait bizarrement.

    Désolé...

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

Discussions similaires

  1. Un comportement étrange (de plus ?) sur variable
    Par Guigsounet dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 08/07/2010, 20h14
  2. Comportement étrange apres une désinstallation
    Par Sunchaser dans le forum Excel
    Réponses: 4
    Dernier message: 06/08/2005, 19h44
  3. comportement étrange d'une jointure ...
    Par amenis dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 10/02/2005, 21h27
  4. [Système][Runtime][Exec] Comportement étrange au lancement de BeSweet
    Par divxdede dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 06/06/2004, 09h54
  5. Réponses: 2
    Dernier message: 22/09/2003, 11h23

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