Расположить отрицательные элементы в заданном векторе по убыванию - Assembler

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

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

Расположить отрицательные элементы в заданном векторе по убыванию; элементы вектора двухбайтовые. Заранее спасибо!!
#make_COM#
include 'emu8086.inc'
ORG 100h
.data
mas db 1,18,12,13,56,14,65,43   
 
X       db   0
.code
    mov   cx, 7
    mov si, 1 
cycl1:  push  cx
    mov   cx, 8 
    sub   cx, si    
    push  si    
    mov si, 7
cycl2:  mov al, mas[si-1]   
    cmp mas[si], al                                      
    jb m1
    mov x,al        
    mov al, mas[si[
    mov mas[si-1],al    
    mov al,x
    mov mas[si],al      
m1: dec si
    loop cycl2
    pop si
    inc si
    pop cx
    loop cycl1 
    CALL    PTHIS
DB 13, 10, 'Otsortirovanniy massiv: ', 0
    mov cx,8        
    mov si,0
cycl4:
    mov al,mas[si] 
    CALL    PTHIS
DB 13, 10, 'Element:', 0
    CALL    PRINT_NUM_UNS   
    inc si      
    loop cycl4  
exit:   
    ret 
;=================================
DEFINE_SCAN_NUM
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
DEFINE_PTHIS
;=================================
END
Только в нем по убыванию положительные числа..

Решение задачи: «Расположить отрицательные элементы в заданном векторе по убыванию»

textual
Листинг программы
mas db 1,18,12,13,56,14,65,43

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

  1. Задана переменная mas типа double word (10h)
  2. Переменная mas содержит список чисел: 1, 18, 12, 13, 56, 14, 65, 43
  3. Неизвестно, каким образом числа были размещены в переменной mas
  4. Для решения задачи использован алгоритм сортировки выбором (selection sort)
  5. Переменная temp (10h) инициализируется значением 0
  6. Цикл 8 раз (длина списка минус один)
  7. В каждой итерации находится минимальный элемент в неотсортированной части списка
  8. Минимальный элемент меняется местами с первым неотсортированным элементом
  9. Удаляются повторяющиеся элементы (если они есть)
  10. Результат выводится на экран (неотсортированный список)

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

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