2017-02-05 11 views
-4

Предположим, что число, хранящееся в регистре X12 и X2, является адресом, а X9 имеет другой номер, работает ли это? Stur X9, [X2, X12]STUR X9, [X2, X12]

+1

Вы забыли указать архитектуру. Что касается работы, обратитесь к руководству и/или попробуйте в примерной программе. Кроме того, каким образом это 'C'? – Jester

+0

Нет, в соответствии с руководством вы не можете добавить два регистра в адрес. Вам придется сделать это заранее. – Jester

+0

Зависит от того, что вы хотите сделать, если вы хотите добавить их вместе, тогда это не сработает. Каково ваше ожидаемое поведение/проблема, которую вы пытаетесь решить? –

ответ

0

Нет, это приведет к следующему:

Error: invalid addressing mode at operand 2 --... 

В соответствии с Инструкцией ARMv8 Set Обзор, вы должны использовать немедленно (то есть, # simm9) для второго операнд.

1

Если вы хотите использовать режим адресации регистров, чтобы сохранить регистр, вы можете использовать инструкцию STR. Таким образом, следующее:

str x9, [x2, x12] 

монтирует просто отлично для aarch64 и разбирает, как

f82c6849 str x9, [x2, x12]