Найти произведение нечетных отрицательных элементов, имеющих четные индексы - Assembler

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

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

В заданной конечной последовательности целых чисел найти произведение нечетных отрицательных элементов, имеющих четные индексы. Assembler. Спасибо.

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

textual
Листинг программы
mess0   DB  'RESULT: -$'
array   DB  58,1,-13,-49,-1,-2,70,-36,-18,123,-31,-40,8,66
len     =   $ - array       ; длина массива
 
start:
   MOV   AH,9           ; результат
   MOV   DX,mess0       ;
   INT   21h            ;
 
   MOV   CX,len/2       ; длина цикла
   MOV   SI,array       ; указатель на массив
   XOR   AX,AX          ;
   XOR   BX,BX          ; место под результат
@@:
   LODSB                ; первый/чётный индекс (отсчёт с нуля)
   OR    AL,AL          ; взводим флаги..
   JNS   miss           ; положительные числа пропускаем
   NEG   AL             ; отрицательные - инвертируем
   JP    miss           ; чётные/отрицательные пропускаем
   ADD   BX,AX          ; нечётные - суммируем.
miss:                   ;
   INC   SI             ; сл.чётный индекс..
   LOOP  @b             ;
 
   SHLD  AX,BX,16       ; перемещаем сумму в AX
   AAM                  ; переводим её в распакованное/10-тичное
   XCHG  AH,AL          ;
   ADD   AX,3030h       ; ...и в ASCII
   INT   29h            ;
   SHR   AX,8           ;
   INT   29h            ; выводим результат на экран.

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


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

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

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