Итак, у меня есть такая проблема: напишите функцию на ассемблере, чтобы вычислить сумму первых N чисел от 0 до N. N передается в качестве аргумента функции. Функция будет вызываться, как показано ниже Int sumofFirstNNumbers (int N)
И для этого я создал этот код сборки:
sub sp, sp, #32
str w0, [sp, 12]
str wzr, [sp, 24]
str wzr, [sp, 28]
.L3:
ldr w1, [sp, 28]
ldr w0, [sp, 12]
cmp w1, w0
bgt .L2
ldr w1, [sp, 24]
ldr w0, [sp, 28]
add w0, w1, w0
str w0, [sp, 24]
ldr w0, [sp, 28]
add w0, w0, 1
str w0, [sp, 28]
b .L3
.L2:
ldr w0, [sp, 24]
add sp, sp, 32
ret
, однако, когда я запускаю этот код в Segger, онпродолжает показывать эту ошибку, ожидается регистр ARM, и я не знаю, как ее исправить. Любая помощь будет оценена !!