В массиве удалить элементы, меньшие среднего арифметического элементов массива - Assembler

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

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

"В массиве удалить элементы, меньшие среднего арифметического элементов массива." Надо написать самым простым способом

Решение задачи: «В массиве удалить элементы, меньшие среднего арифметического элементов массива»

textual
Листинг программы
  1. ;fasm code...
  2. org 100h
  3. jmp  start
  4.  
  5. array  db   22,7,12,18,5,13,8,23,2,14
  6. len    =    $ - array         ; длина массива = текущий адрес, минус адрес начала массива
  7.  
  8. start: mov   si,array         ; SI для LODSB
  9.        mov   cx,len           ;
  10.        xor   bx,bx            ;
  11. summ:  lodsb                  ;
  12.        add   bx,ax            ; ВХ = сумма
  13.        loop  summ             ;
  14.  
  15.        xchg  ax,bx            ;
  16.        mov   bx,len           ;
  17.        xor   dx,dx            ;
  18.        div   bx               ;
  19.        xchg  ax,dx            ; DX = среднее
  20.  
  21.        mov   cx,bx            ;
  22.        sub   si,cx            ;
  23.        mov   di,si            ; SI/DI = адрес массива
  24. newAr: lodsb                  ;
  25.        cmp   al,dl            ;
  26.        jbe   fuck             ; пропустить, если AL меньше/равно среднего
  27.        stosb                  ; иначе: перезапись массива значением из AL
  28. fuck:  loop  newAr            ;
  29.  
  30.        xor   al,al            ; вставляем маркер конца массива
  31.        stosb                  ;
  32.  
  33.        xor  ax,ax             ;
  34.        int  16h               ;
  35.        ret                    ;

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


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

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

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы