Globale Variablen der Y86-Assembly

Ich kämpfe darum, dass globale Variablen für meine Y86-Zuweisung korrekt funktionieren. Leider sind die einzigen Beispiele, die uns zur Verfügung gestellt wurden, in der IA-32-Baugruppe. Ich habe in den letzten Stunden gesucht, aber ohne Erfolg. Dies ist sehr einfach, ich weiß, aber ich bin ein absoluter Anfänger bei Y86.

Ich "deklariere" meine Variablen wie folgt

.align 4
x: .long 1
y: .long 4

Wenn ich sie in einer Operation wie @ verwenirmovl x, %edx Ich sehe, dass dem edx-Register anstelle des Werts 4 der Wert 380 zugewiesen wird. Ich denke, dass der Speicherort dem Register anstelle des Werts zugewiesen wird. Was wäre die richtige Syntax, um den Wert der globalen Variablen auf das Register zu setzen?

Ich habe versucht, stattdessen mrmovl zu verwenden, bin mir jedoch der Syntax für mrmovl mit einer globalen Variablen nicht sicher.

mrmovl x,% edx gib mir den Fehler "x ist keine Zahl"

Antworten auf die Frage(2)

Ihre Antwort auf die Frage