[SOS] Probe memory
David MENTRE
dmentre at linux-france.org
Lun 20 Déc 17:06:29 CET 2004
Bonjour,
LfvrChris at aol.com writes:
> Il rest encore quelques points à éclaircir en ce qui concerne le code
> ci-dessous. Notamment l'instruction suivante:
>
> asm("":::"memory");
>
> Que veut-elle dire ?
> Quelle est son rôle ?
J'espère ne pas dire de bêtises, les experts me corrigeront sinon.
C'est instruction indique au compilateur une instruction assembleur vide
("") qui touche à la mémoire ("memory"). Dans ce cas là, comme le
compilateur ne sait pas qu'elle est l'effet de bord d'une instruction
qui touche à la mémoire, il ne fait pas d'optimisation au-delà de
l'instruction.
Ce genre de construction est souvent utilisé pour éviter que le
compilateur ne ré-ordonne des instructions dont l'ordre initial doit
être impérativement respecté pour que ça marche (typiquement, l'accès à
un périphérique ou du code qui manipule l'état du processeur).
Amicalement,
david
--
pub 1024D/A3AD7A2A 2004-10-03 David MENTRE <dmentre at linux-france.org>
5996 CC46 4612 9CA4 3562 D7AC 6C67 9E96 A3AD 7A2A
Plus d'informations sur la liste de diffusion Sos