поэтому я делаю некоторый код, который может прочитать список чисел, разделить его на блоки по 3 и решить, какое из этих 3 чисел является наибольшим.Затем я собираюсь взять самые большие значения из каждого блока в 3 и сложить их все вместе.
Для этого я храню свои значения в нескольких регистрах:
MOV r1,#0 ;loop counter
MOV r2,#0 ;compare store 1
MOV r3,#0 ;compare store 2
MOV r4,#0 ;compare store 3
MOV r5,#0 ;sum of values
MOV r6,#0 ;which was greater in value
LDR r8,=data_values ;the list of values
Я использую команду CMP для сравнения значений, однако я не совсем уверен, верен ли мой метод для хранения и добавления значений.На данный момент у меня есть это:
MOV r6,CMP r2,r3 ;Moving the comparison value into r6, my store for the greater value
MOV r6,CMP r6,r4 ;Comparing the larger value to the 3rd value
ADD r5,r5,r6 ;Adding the larger value to the sum
Это выглядит совместимым с другими функциями, которые работали для меня раньше, но я продолжаю получать эти ошибки:
task3.s (26): предупреждение: A1865W: «#» не видно перед константным выражением
и
task3.s (26): ошибка: A1137E: неожиданные символы в концеline
Теперь я почти уверен, что это не константа, если константа не определена здесь по-другому, и в конце строки нет дополнительных символов, если она не считает все сравнениефункционируют как дополнительные символы
![Image showing the whole line highlighted with no extra characters sitting at the end](https://i.stack.imgur.com/myYRW.png)
Есть ли что-то, что я должен изменить, или он должен работать нормально, и эти предупреждения игнорируются?
Спасибовы