Cuando la rutina es en THUMB, se usa la dirección +1. Y obviamente la rutina tiene que estar en una dirección par (acabada en 0, 2, 4, 6, 8, A, C o E).
Cuando no lo es (ergo, es ARM), se usa sin ese "+1", y tiene que estar en una dirección múltiple de 4 (acabada en 0, 4, 8 o C).
¿Por qué? Por que cuando el procesador lee un bx rN, el último bit de ese registro rN indica el modo en el que va a estar la CPU una vez realizado el salto.