ARM Assembler Befehl

Gast #179691
Lesenswert?

Hallo,
langsam verstehe ich immer mehr von dem ARM Assembler, aber die
Bedeutung des Punktes hat sich mir noch nicht erschlossen. Kann mir
vielleicht jemand den Punkt zwischen den beiden Minus-Zeichen in der
Assemblerzeile erklären ?

ADD R11,PC,#label-.-8

Vielen Dank
Konrad
Gast #179692
Lesenswert?

Ich kenne zwar den ARM-Assembler nicht, aber der Punkt steht gemeinhin
für den `location counter', d.h. die Adresse des aktuellen Befehls.
Wird wohl hier benutzt, um einen Offset zu ermitteln, der dann zum PC
addiert wird, wenn ich das richtig verstehe.
Gast #179693
Lesenswert?

R11 = PC + (#label - locationcounter - 8)

-8 wird (vermutlich, seh ja der zeile so aus dem kontext rausgerissen
nicht wirklich an was sie bewirken soll) benötigt, da der PC zum
zeitpunkt wenn die instruktion ausgeführt wird schon 8 bytes (= 2
instruktionen) weiter ist (prefetching...).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren