Gas: Zu viele Speicherreferenz
Frage
Beim Kompilieren der folgenden Anweisung:
movl 4(%ebp), 8(%ebp)
Ich habe: Zu viele Speicherreferenz.
Was stimmt damit nicht?
Lösung
Die Zahl vor der Klammern ist ein Byte -Offset (der eine Speicherreferenz verursacht), und Sie können nicht zwei davon haben movl
. Sie müssen den Wert zuerst vorübergehend in ein Register verschieben.
movl 4(%ebp), %ecx
movl %ecx, 8(%ebp)
Andere Tipps
Es ist keine rechtliche Anweisung. Für die meisten Anweisungen dieser Referenzspeicher müssen Sie ihn in ein Register verschieben.
Sie können sächsisch für xpath2.0 verwenden.Xalan hat Prototyp dafür, aber das ist nicht ein Offizieller Build, siehe http://www.stylusstudio.com/xslist/200212/post70030.html
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow