29.01.2013 Aufrufe

Optimierung einer Softwarebibliothek für sicherheitsrelevante

Optimierung einer Softwarebibliothek für sicherheitsrelevante

Optimierung einer Softwarebibliothek für sicherheitsrelevante

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

2 Grundlagen 20<br />

BLX(Branch with Link Exchange) und BL(Branch Exchange) haben die gleiche Funktionalität<br />

wie die B und BL, außerdem werden sie benutzt, um zwischen den ARM- und<br />

THUMB-Instruktionssatzen zu wechseln (Abbildung 12).<br />

Abbildung 12: Sprungbefehle BLX und BL [MAR06]<br />

Datenverarbeitende Befehle (Data Processing Instructions)<br />

Wie ein datenverarbeitender Befehl aussieht, zeigen die Abbildungen 13 und 14:<br />

Abbildung 13: Data Processing Instruction [MAR06]<br />

Abbildung 14: Data Processing Instruction [ARMREF]<br />

Jeder Befehl hat zwei Operanden und schreibt das Ergebnis in ein Register. Der erste<br />

Operand muss immer ein Register sein, der zweite hingegen ein Register oder eine Variable.<br />

Als Zusatz gibt es einen Barrel Shifter, dieser erlaubt es, den zweiten Operanden<br />

bitweise zu shiften. Das „S“-Bit wird benutzt um Statusflags zu kontrollieren. Die datenverarbeitenden<br />

Befehle sind in der Tabelle 2 aufgelistet.<br />

Zum Beispiel könnte folgende Anweisung:<br />

if (z==1) R1 = R2 + (R3 * 4)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!