ARM7 Assembler Befehlskombinationen

OP #1995639
Lesenswert?

Hallo NG,

habe da mal ne Frage zu ARM7 Assembler.

Die Befehle sind mir im Prinzip klar. Wie kann ich allerdings 
herausfinden, welche Befehle "kombiniert" werden können.

Beispiel strb + lsr:
strb   r7, [r6, r8, lsr #8]

was strb + lsr macht ist mir klar. Wo steht, dass man die Befehle so 
verknüpfen kann?

Vielen Dank für jeden hilfreichen Tip.

Viele Grüße und einen guten Rutsch!
Peter
Persönliche Seite #1995652
Lesenswert?

Peter Pippinger schrieb:
> Beispiel strb + lsr:
> strb   r7, [r6, r8, lsr #8]
>
> was strb + lsr macht ist mir klar. Wo steht, dass man die Befehle so
> verknüpfen kann?

Im Architecture Reference Manual. Man kann auf den zweiten Operanden der 
meisten (einfachen) ALU Befehle, bzw. das Offset-Register vieler 
Load/Store Operationen, eine Shift/Rotate-Operationen anwenden.

Gruß
Marcus
OP #1997198
Lesenswert?

Danke für den Link.

jetzt hätte ich noch ne Frage, weil ich mich noch nicht so recht 
auskenne und schon fast der premature optimation zum Opfer falle :-) :

Kann ich sowas wie:

// get actual opcode
  ldr r5, c64
  and r5, r5, #255

in einen Befehl packen?

der LDR holt in diesem Fall 32Bit von "c64" (Speicher). Wenn ich jetzt 
nur auf den Opcode einegehen möchte, brauche ich ja nur die erste 8Bit. 
Vom Gefühl her würde ich sagen, dass mir die Version mit dem AND als 
zweiter Befehl nicht sehr gut gefällt. Kann man das optimaler 
ausdrücken?

Wiso bekomme ich eigentlich bei ldrb ne Fehlermeldung?
Danke für jeden Tip!

Peter

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