Modifier: J'ai répondu à ma propre question. Voir ci-dessous. -_-Variables se comportant bizarrement (Intel 8086)
J'ai une variable définie dans le segment .data comme suit:
retVal DW 0100h ;stores hex fraction of the intermediate value. Starts at 1.00
Ceci est la valeur que j'ajouter ou soustraire à obtenir ma valeur de retour.
La première fois qu'il apparaît dans le segment de code est au point suivant:
sub [retVal], ax ;
J'ai utilisé le débogueur, et peut confirmer que, au moment de cette opération, le registre de la hache est: 0000h .
Pourtant, si j'ajoute immédiatement la ligne de code suivante avant d':
mov dx, 0100h;
mov [retVal], 0100h;
je reçois une valeur complètement différente (aussi mal). Je suis assez déconcerté. Suis-je fondamentalement abuser des variables ici? Je ne vois pas pourquoi le fait de charger la même valeur que celle à laquelle la variable a été initialisée (et qui n'a pas encore été modifiée) modifierait les résultats.
Des idées? A défaut, quelqu'un pourrait-il me rappeler comment suivre la valeur d'une variable via CodeView? (Le débogueur DOSBox que j'utilise)
Il nous sera impossible de deviner ce qui ne va pas si vous nous montrez seulement les lignes de code que vous * pensez * sont à l'origine du problème. Veuillez poster un exemple court et complet qui démontre le problème que vous voyez. N'oubliez pas d'indiquer clairement les résultats * attendus * et * réels *. –