Wie sind Thumb Instructions angeordnet?

OP #4898947
Lesenswert?
• ▲
▼
Hallo allerseits

Ich wüsste gerne wie Thumb Code im Speicher angeordnet wird. Soll 
heissen:

Annahme, A - 16Bit weit, B - 32 Bit weit.

Sei nun folgendes Programm:

A - Word alligned z.B. bei 0x00
B
A

Ist nun B bei 0x02 oder 0x04?

Würde es gerne selber ausprobieren, habe aber zu schlechte Assembler 
Kenntnisse und gerade nicht das Vertrauen in mich herauszufinden, welche 
Instruktionen ich benutzen muss, damit sie sicher 32Bit weit sind.

Ein kurzes Beispiel wäre super!

Gruss

Felix
#4898956
Lesenswert?
• ▲
▼
Ich nehme an es geht Dir um Thumb2 Code, denn nur dieser kann sowohl 16 
als auch 32 bit Instruktionen gemischt enthalten!

In dem Beispiel wird Instruktion B nicht auf eine Word-Grenze aligniert, 
sie steht also an Adresse 0x2. Es geht ja darum gegenüber ARM code, der 
durchgängig 32 bit Instruktionen verwendet, Platz zu sparen.
Wäre jede 32 bit Instruktion aligniert, so gelingt das nur schwerlich!

ZigZeg

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