Некоторые процессоры ARM Cortex-M могут выполнять либо код Thumb2, либо оригинальный код ARM, где все инструкции являются 32-битными. Поэтому, возвращаясь из подпрограммы, процессор должен знать, к какому типу кода он возвращается. Если младший бит адреса возврата установлен в 1, то процессор знает, что он возвращается к коду Thumb2.
Обратите внимание, что фактические инструкции должны быть выровнены по полуслову, поэтому истинный целевой адрес ветвления должен иметь младший бит0. После проверки LSB, чтобы увидеть, какой код выполнять, процессор заставляет LSB установить значение 0, прежде чем фактически извлечь инструкцию.