Cela fait un moment que j'ai cessé de travailler avec des langages de code et depuis quelques jours à l'école j'ai commencé à assembler, je veux commencer à comprendre une logique derrière le fonctionnement de certaines lignes de code.
En fait, ce que j'ai essayé est une simple opération ADD entre deux variables. J'utilise emu8086 pour émuler mon code et je vais vous montrer maintenant pourquoi je ne peux pas le comprendre.AJOUTER une opération dans l'assemblage
Le code est le suivant:
stack segment
dw 128 dup(0)
ends
data segment
x DB 3
y DB 5
r DB 0
ends
code segment
mov ah,x
mov al,y
add ah,al
mov r,ah
ends
Maintenant, je viens initialisés trois variables, deux d'entre eux sur 8 bits et je veux ajouter la première à la seconde. Le problème est le suivant: quand je émule le code et je vais voir ce qui se passe étape par étape, la première étape devrait être AH=03
, mais il semble sortir CDh (et ce n'est pas mon x var) et je Je n'arrive pas à comprendre pourquoi. Même chose pour AL
.
Je veux dire, pourquoi ai-je écrit d'autres choses dans mes registres AH
et AL
au lieu des variables x et y?
Vous avez probablement oublié de configurer 'DS' pour pointer vers votre segment de données. – Jester
Désolé de demander, mais, comment puis-je faire cela? –