2014-11-23 3 views

Antwort

16

bx steht für branch and exchange instruction set Das bedeutet, dass der Prozessor nach dem lsb (niederwertigstes Bit) der zu verzweigenden Adresse den nächsten Befehl als ARM oder als Daumen behandelt.

Als lr Regel der Rücksprungadresse enthält, bedeutet dies, dass dies eine Rückkehr von einer Funktion ist, und wenn das lsb von lr 1 ist, wird es den Code an dieser Adresse als Daumen zu behandeln, sonst, es wird es so behandeln, als ARM.

+0

Könnten Sie möglicherweise diese Erklärung vereinfachen, meine Kenntnisse der ARM-Architektur ist nicht so weit fortgeschritten. – user2177940

+0

https://en.wikipedia.org/wiki/ARM_architecture#Thumb – MByD

+4

@ user2177940 Teil 1: Modusschalter. Eine ARMv7-CPU arbeitet in einem von zwei Modi (genannt ARM oder Thumb), die sich in der Befehlskodierung unterscheiden (hauptsächlich in "vollständigen", aber großen 4-Byte-Befehlen gegenüber "eingeschränkten", aber kleinen 2-Byte-Befehlen). Welcher Modus zum nächsten umgeschaltet wird, wird ** zum Zeitpunkt des Anrufs mit 'bx/blx' ** dadurch bestimmt, ob die Adresse, zu der gesprungen werden soll, gerade oder ungerade ist (dies bewirkt einen Wechsel in den ARM- oder den Daumenmodus). –