Tu as l'esprit un peu embrouillé à ce que je vois .
Tout d'abord le cpu sait si c'est un mot ou double-mot selon l'octet r/m de l'instruction(sauf quelques instructions ou cela dépend si le cpu est en mode 16-bit ou 32-bit) .
Ensuite ler cpu exécute ce que tu lui dis . Quand l'Os charge un prog il informe le cpu où commence le code . çà veut dire que si l'OS décide d'exécuter la section .data et bien le cpu ni verra aucun inconvénient puisque pour lui les section n'existe pas . La seul chose que connais le cpu c'est: ou commence la section de code, de données .
Pour le coup du hello world et bien regarde:
donc là si pointe sur le premier octet de ta chaîne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mov si,data_txt
charge un octet pointé par si dans al puis incrémente(ou décrémente) si .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2lodsb
quand cet octet vaut 0 on est à la fin de la chaîne .
Le cpu ne sait pas ce qui est pointé par si simplement il le charge . C'est au programmeur de savoir ce qu'il fait .
Partager