Die meisten Assembly-Programme verwenden die 4 allgemeinen Register eax ebx ecx edx
, aber ich finde, dass ich ziemlich oft mehr als 4 Register brauche, um meine Aufgabe ohne push
und pop
zu erfüllen vom Stapel zu viel. Da mein Programm keine Absicht hat, die FPU- oder MMX-Register für Fließkomma-Berechnungen oder deren "beabsichtigte Verwendung" zu verwenden, wird es als akzeptabel angesehen, diese zusätzlichen Register in Ihrem Programm zu verwenden?Verwenden von FPU und MMX-Registern als "allgemeine Register"
Eg. Verwenden Sie xmm0
für einen Schleifeninkrement-Zähler, der das ecx
Register freigibt, um andere Dinge zu tun.
Sie können so ziemlich machen, was Sie wollen. Wenn Sie feststellen, dass die Verwendung der xmm-Register schneller ist als das Verschütten auf den Stack, gehen Sie dafür vor. – Mysticial
@Mysticial Selten sagt mir jemand "Ich kann tun, was ich will" in Bezug auf die Programmierung. Ich grabe es :) – user99545
x86_64 hat 8 zusätzliche Register für den allgemeinen Gebrauch. –