78 votes

Que signifie l'instruction "lock" dans l'assemblage x86 ?

J'ai vu des assemblys x86 dans les sources de Qt :

 q_atomic_increment:
    movl 4(%esp), %ecx
    lock 
    incl (%ecx)
    mov $0,%eax
    setne %al
    ret

    .align 4,0x90
    .type q_atomic_increment,@function
    .size   q_atomic_increment,.-q_atomic_increment
  1. D'après la recherche sur Google, je savais que l' lock entraînerait le verrouillage du bus par le processeur, mais je ne sais pas quand le processeur libère le bus ?

  2. À propos de l'ensemble du code ci-dessus, je ne comprends pas comment ce code implémente le Add ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X