Найти сумму абсолютных величин элементов массива - Assembler
Формулировка задачи:
Здравствуйте! Задание найти сумму абсолютных величин. массив байт.
Я написал алгоритм, без цикла изменение знака работает и сложение без проверки тоже.
Там где neg, на 14, 16, 17 строках, пишет "Argument needs type override"
интернет шерстил, но ответа так и не нашел как это исправить.
В ответе получается 1B, т.е. 27, должно быть 52.
Прошу вашей помощи разобраться.
Листинг программы
- data segment
- sum db ?
- mass db 1,2,7,9,3,-8,-2,-7,4,9
- data ends
- code segment
- assume cs: code, ds: data
- start: mov ax, data
- mov ds, ax
- lea bx, mass
- mov cx, 10
- mov ax, 0
- beg:
- neg [bx]
- js no
- neg [bx]
- no: neg [bx]
- add al, [bx]
- inc bx
- loop beg
- quit: mov ax,4C00h
- int 21h
- code ends
- end start
Решение задачи: «Найти сумму абсолютных величин элементов массива»
textual
Листинг программы
- neg byte ptr [bx]
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д