Что если этапов конвейера не 3, например, в ARM1156T2-S (также ARMv6), он имеет 9 этапов:
Fe1 Fe2 De Iss Fe3 Sh ALU Sat WBex
ПК по-прежнему является адресом текущей инструкции плюс 8?
Для совместимости.
MOV LR, PC LDR PC, =myfunc
Вы не хотите ломать весь старый код только потому, что конвейер был изменен.