Найти минимальный нечетный элемент - Assembler

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

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

Найти минимальный нечетный элемент. Нужно сделать с помощь test.

Решение задачи: «Найти минимальный нечетный элемент»

textual
Листинг программы
  1. ;FASM-code..
  2. ;-----------------
  3. org  100h
  4. jmp  start
  5.  
  6. nch     db   0
  7. a       db   2,4,8,10,255,7,68,11,100,37
  8. len     =    $ - a             ; длина массива
  9.  
  10. start:  mov   si,a             ; его адрес
  11.         mov   cx,len           ; счётчик для LOOP
  12.         xor   bx,bx            ; флаг нечётных
  13. cycle:  lodsb                  ; читаем массив..
  14.         test  al,1             ;
  15.         jz    next             ; пропустить, если чётное
  16.         inc   bx               ; иначе: взводим флаг,
  17.         push  ax               ;   ..и запоминаем нечётное в стеке
  18. next:   loop  cycle            ; промотать СХ-раз..
  19.  
  20.         or    bx,bx            ; выйти, если ВХ=0 (нет нечётных)
  21.         jz    bye              ;
  22.  
  23.         dec   bx               ; иначе: ВХ -1,
  24.         xchg  cx,bx            ;   ..и сделать его счётчиком для LOOP
  25.         pop   ax               ; АL = нечётный элемент со-стека
  26. begin:  pop   bx               ; снимаем остальные элементы в ВL,
  27.         cmp   bl,al            ;   ..и ищем минимальное!
  28.         ja    miss             ;
  29.         xchg  al,bl            ;
  30. miss:   loop  begin            ;
  31.  
  32.         mov   [nch],al         ; *запомнить его в переменной.
  33.         mov   ah,8             ; ждём клавишу,
  34.         int   21h              ;     ..и на выход!
  35. bye:    int   20h              ; если нет нечётных..

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


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

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

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

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

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

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