Я хотел бы выполнить следующую операцию в сборке ARM только с 24 байтами кода / данных.Возможно ли это?
ПК = [MEMLOC] + ПК
Или, говоря словами, я хотел бы перейти вперед на основе относительного смещения ПК, которое считывается из памяти.
Значение, считываемое из MEMLOC, должно быть полным 32-битным словом
Я могу сделать это легко с 16 [<-обновлено от 32 до] байтов (используя стандартные инструкции LDR и ADD),но ищу оптимизировать одну инструкцию.Кто-нибудь знает, возможно ли это?Я думаю, что есть способы сделать с ~ 20-битным словом, прочитанным из памяти, но это может быть невозможно с полным 32-битным словом. </p>
Обновление: вот что у меня есть:
LDR R12, =MEMLOC1
ADD R12, PC, R12
LDR PC, [R12]
MEMLOC1: (contains 32-bit word)