Найти сумму положительных элементов, находящихся под главной диагональю матрицы - 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
Объяснение кода листинга программы
mov al,mas[5]
— из массиваmas
берётся значение элемента с индексом 5 и помещается в регистрal
.mov ah,0
— в регистрah
записывается значение 0.add al,mas[10]
— к значению в регистреal
прибавляется значение элемента массиваmas
с индексом 10.adc ah,0
— к значению в регистреah
прибавляется значение 0.add al,mas[11]
— к значению в регистреal
прибавляется значение элемента массиваmas
с индексом 11.adc ah,0
— к значению в регистреah
прибавляется значение 0.add al,mas[15]
— к значению в регистреal
прибавляется значение элемента массиваmas
с индексом 15.adc ah,0
— к значению в регистреah
прибавляется значение 0.add al,mas[16]
— к значению в регистреal
прибавляется значение элемента массиваmas
с индексом 16.adc ah,0
— к значению в регистреah
прибавляется значение 0.add al,mas[17]
— к значению в регистреal
прибавляется значение элемента массиваmas
с индексом 17.adc ah,0
— к значению в регистреah
прибавляется значение 0.add al,mas[20]
— к значению в регистреal
прибавляется значение элемента массиваmas
с индексом 20.adc ah,0
— к значению в регистреah
прибавляется значение 0.add al,mas[21]
— к значению в регистреal
прибавляется значение элемента массиваmas
с индексом 21.adc ah,0
— к значению в регистреah
прибавляется значение 0.add al,mas[22]
— к значению в регистреal
прибавляется значение элемента массиваmas
с индексом 22.adc ah,0
— к значению в регистреah
прибавляется значение 0.add al,mas[23]
— к значению в регистреal
прибавляется значение элемента массиваmas
с индексом 23.adc ah,0
— к значению в регистреah
прибавляется значение 0.mov sum,ax
— в переменнуюsum
записывается значение регистраax
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д