Скажем, у нас есть массив X
типа (4 байта), а его базовый адрес находится в r0
.И у нас есть переменная y
в r1
и переменная z
в r2
.
Если мы сделаем это:
add r1, r0, r1
ldr r2, [r1]
Что бы это сделало?Я знаю, что это очень просто, но я не понимаю, как будет работать добавление адреса массива и некоторой константы.Также я не понимаю синтаксис ldr r2, [r1]
.Я знаю, что он загружается в r2
, но что такое [r1]
?
Это все элементы массива?Так теперь r2
также является базовым адресом массива, который является копией r1
?r1
стал массивом, когда он был добавлен к одному?Так добавляется ли оригинал y
к каждому элементу массива?Я в основном спрашиваю, как это конвертируется в функцию на C. Сейчас я предполагаю z = g*(B[0] + B[1] + B[2] + B[3])
, но я не уверен, что это имеет какой-то смысл.