Forum: Mikrocontroller und Digitale Elektronik ARM Befehlsatz


von Marc (Gast)


Lesenswert?

Hallo, bin gerade dabei mich in den ARM Assembler-Befehlsatz 
einzuarbeiten.
Hab aber mit der folgenden Zeile ein Problem.

add r0,pc,#-(8+.-AicData)

also eigentlich hab ich nur ein Problem mit dem +.-
Kann mir jemand mal helfen?

Gruß Marc

von Ago (Gast)


Lesenswert?

ich vermute das "." ist der "Platzhalter" für die aktuelle logische 
Adresse (des Assemblers/Compilers), also die aktuelle Zeile. Das würde 
bei den Codeschnippseln, die ich dazu ergoogelt habe, Sinn haben.

".-AicData" berechnet dann zur Compilezeit den Abstand bzw. die 
Differenz von der momentan übersetzten Instruktion zum Label AicData, 
die 8 korrigiert das Pipelining.
Dann wird R0 mit der Differenz geladen um auf AicData zu zeigen. Auf dem 
RiscPC gab es dazu die Pseudo-Instruktion "ADR Rx,<Label>".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.