Нелегальное обучение на ассемблере (ARMv8)
Поэтому я должен написать программу (изображение выше), которая находит максимум функции в области -6 <= x <= 5, и если я пытаюсь запустить или отладить (gdb) программу, терминал выводит сообщение, говорящее недопустимая инструкция, в частности "в top ()". Я новичок в ассемблере и по общему признанию борюсь с ним в целом, поэтому любая помощь будет оценена.
Спасибо
Мне пришлось избавиться от комментариев, так что теперь это может немного смущать
.global main
mov x19, -6 // integer that gets inerated from -6 to 5 (x)
//the following integers are used as the constants for each term in the function
y = -5x^3 - 31x^2 + 4x + 31
mov x24, -5
mov x25, -31
mov x26, 4
mov x27, 0
b main
main:
cmp x19,5
b.le loop
loop:
mul x20, x19, x19
mul x20, x20, x19
mul x20, x20, x24
mul x21, x19, x19
mul x21, x21, x25
mul x22, x19, x26
add x23, x20, x21
add x23, x23, x22
add x23, x23, 31
cmp x23, x27
b.gt top
add x19, x19, 1
b main
top:
mov x27, x23