Найти сумму положительных элементов, находящихся под главной диагональю матрицы - Assembler

Узнай цену своей работы

Формулировка задачи:

Нашел как найти сумму массива.
.model small
.stack 100h
.data
mas   dw 0,1,2,3,4,5,6,7,8,9
.code
 
start:
 
mov ax, @data
mov ds, ax
 
mov cx,10
xor ax,ax
xor si,si
 
sum:
add ax,mas[si]
add si,2
loop sum
 
mov ax,4c00h
int 21h
 
end  start
Подскажите как найти сумму положительных элементов, находящихся под главной диагональю

Решение задачи: «Найти сумму положительных элементов, находящихся под главной диагональю матрицы»

textual
Листинг программы
mov al,mas[5]
mov ah,0
add al,mas[10]
adc ah,0
add al,mas[11]
adc ah,0
add al,mas[15]
adc ah,0
add al,mas[16]
adc ah,0
add al,mas[17]
adc ah,0
add al,mas[20]
adc ah,0
add al,mas[21]
adc ah,0
add al,mas[22]
adc ah,0
add al,mas[23]
adc ah,0
mov sum,ax

Объяснение кода листинга программы

  1. mov al,mas[5] — из массива mas берётся значение элемента с индексом 5 и помещается в регистр al.
  2. mov ah,0 — в регистр ah записывается значение 0.
  3. add al,mas[10] — к значению в регистре al прибавляется значение элемента массива mas с индексом 10.
  4. adc ah,0 — к значению в регистре ah прибавляется значение 0.
  5. add al,mas[11] — к значению в регистре al прибавляется значение элемента массива mas с индексом 11.
  6. adc ah,0 — к значению в регистре ah прибавляется значение 0.
  7. add al,mas[15] — к значению в регистре al прибавляется значение элемента массива mas с индексом 15.
  8. adc ah,0 — к значению в регистре ah прибавляется значение 0.
  9. add al,mas[16] — к значению в регистре al прибавляется значение элемента массива mas с индексом 16.
  10. adc ah,0 — к значению в регистре ah прибавляется значение 0.
  11. add al,mas[17] — к значению в регистре al прибавляется значение элемента массива mas с индексом 17.
  12. adc ah,0 — к значению в регистре ah прибавляется значение 0.
  13. add al,mas[20] — к значению в регистре al прибавляется значение элемента массива mas с индексом 20.
  14. adc ah,0 — к значению в регистре ah прибавляется значение 0.
  15. add al,mas[21] — к значению в регистре al прибавляется значение элемента массива mas с индексом 21.
  16. adc ah,0 — к значению в регистре ah прибавляется значение 0.
  17. add al,mas[22] — к значению в регистре al прибавляется значение элемента массива mas с индексом 22.
  18. adc ah,0 — к значению в регистре ah прибавляется значение 0.
  19. add al,mas[23] — к значению в регистре al прибавляется значение элемента массива mas с индексом 23.
  20. adc ah,0 — к значению в регистре ah прибавляется значение 0.
  21. mov sum,ax — в переменную sum записывается значение регистра ax.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы