Sperrmechanismen in x86 Assembly
In x86 Assembly sind die Anweisung "Sperre" eher ein Präfix als eine Anweisung selbst. Es ändert die nachfolgende Anweisung, in der Regel eine read-modify-write-Operation im Speicher, um sicherzustellen, dass die CPU einen exklusiven Zugriff auf die erforderliche Cache-Linie beibehält. Stattdessen löst es die CPU aus, um Sperrmechanismen zu implementieren, um die Datenintegrität zu gewährleisten. Dies kann die Behauptung eines Busschlosses beinhalten, aber CPUs sucht im Allgemeinen nach Optimierungen und vermeiden Sie, dass Bussperrungen nach Möglichkeit vermeiden. Stattdessen können sie Cache -Sperren oder andere Techniken einsetzen, um den exklusiven Zugriff aufrechtzuerhalten. Der gesperrte Zustand endet, sobald die gesperrte Anweisung abgeschlossen ist.
Implementieren Sie die Ergänzung in der Versammlung
Der bereitgestellte Assembly -Code ist nicht so ausgelegt, dass die Ergänzung implementiert wird, sondern eine Atom -Inkrement -Operation. Hier ist eine Aufschlüsselung:
Der Code lädt die Adresse der Variablen, die aus dem Stapel in das ECX -Register inkrementiert werden soll. laufend.
Die folgenden Anweisungen setzen EAX (der Rückgabewert) auf 0, wenn der inkrementierte Wert 0 und 1 ist.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3