bonjour,
svp, je veux savoir ce que fait la directive cld et quan est ce que on l'utilise?
aussi dans le cas où on utilise la directive "repecmpsb" pour comparer deux chaines, ça represente quoi la valeur qu'on met dans le registre cx?
merci
bonjour,
svp, je veux savoir ce que fait la directive cld et quan est ce que on l'utilise?
aussi dans le cas où on utilise la directive "repecmpsb" pour comparer deux chaines, ça represente quoi la valeur qu'on met dans le registre cx?
merci
Xoa,
Pour savoir de quoi il s'agit, le plus simple est de prendre la doc de Intel, et chercher les instructions en question.
Si les cons volaient, il ferait nuit à midi.
Je rejoins Droggo sur ce point. Tu as suffisamment de messages à ton actif ici pour être censé savoir lire une doc, spécialement la liste des instructions, qui est quand même le point de départ lorsque l'on programme en assembleur.
« CLD », c'est « Clear D ». C'est-à-dire que cette instruction met le flag D à zéro. Ce flag s'appelle D, pour « Direction ». C'est ce flag que le microprocesseur consulte pour savoir dans quel sens il doit parcourir une liste ou une chaîne lors de l'utilisation d'instructions comme STOS, LODS, MOVS, etc. Le pendant de cette instruction est donc « STD », pour « Set D ».
En gros, Si D est à zéro, le pointeur de chaîne (ESI, EDI) sera automatiquement incrémenté, si D est à un, il sera décrémenté.
Pour « REPE CMPSB », il s'agit de deux instructions distinctes. Dans tous les variantes de « REP », l'instruction ainsi préfixée est répétée et ECX décrémenté jusqu'à ce que ce dernier atteigne zéro. En l'occurence, c'est donc la longueur maximale des chaînes que tu compares.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager