This article Ansprüche, die jedes Register einen beabsichtigten Zweck hat und was noch wichtiger ist,Erhöht die Verwendung eines Intel-Registers für seinen "Verwendungszweck" die Effizienz?
Wenn die Ingenieure bei Intel das Original 8086 entworfen Prozessor, hatten sie einen besonderen Zweck im Auge für jedes Register. Als sie den Befehlssatz entwarfen, erstellten sie viele Optimierungen und spezielle Anweisungen basierend auf der Funktion, die sie erwarteten jedes Register zu erfüllen. Mit Register nach Intels ursprünglichen Plan ermöglicht der Code vollen Vorteil dieser Optimierungen. Leider scheint dies eine verlorene Kunst zu sein. Nur wenige Programmierer wissen von Intels Gesamtdesign, und die meisten Compiler sind auch die einfache oder konzentrierte sich auf Ausführungsgeschwindigkeit, um die Register richtig zu verwenden. Verstehen, wie die Register und Befehlssatz passen zusammen ist jedoch ein wichtiger Schritt auf der Straße zu mühelosen Größencodierung.
Gibt es weitere Quellen, die diesen Artikel bestätigen? Wenn ja, würde ich es gerne überprüfen.
Bitte beachten Sie, ich bin nicht über Situationen, in denen schnelle Operationen wie STOS
edi
verwendet - ich frage mich nur, ob es eine Leistungsverschlechterung ist, wenn ich eax
und esi
als Zähler anstelle von ecx
oder ist es nur etwa Lesbarkeit?
Vor allem Referenzen zu AX vs. anderen. –