Напишите программу на языке ассемблера для сортировки следующих чисел, используя пузырьковую сортировку, в подписанном порядке убывания: -10, -30, -25, 50, 15, 20, 35, 40, 45, 0?

4 Ответы


  • Напишите программу на языке ассемблера для сортировки следующих чисел с помощью пузырьковой сортировки в порядке убывания со

    знаком : -10, -30, -25, 50, 15, 20, 35, 40, 45, 0

    То есть в конце вашей программы , цифры должны быть в следующем порядке:

    50, 45, 40, 35, 20, 15, 0, -10, -25, -30.
  • Делайте свою домашнюю работу самостоятельно.
    Перейдите на страницу 37 раздаточного материала CS401, и там вы получите некоторую помощь.

    Что касается
    инструктора CS401
  • Напишите программу сборки для ввода 3 чисел, затем сложите числа и вычислите среднее округленное значение, распечатайте общее и среднее значение?
  • Данные: Dw -10, -30, -25, 50, 15, 20, 35, 40, 45, 0
    swap: Db 0

    bubbleort: Dec cx; последний элемент не сравнивается
    shl cx, 1

    mainloop: Mov si, 0; инициализировать обнулить индекс массива
    mov word [swap], 0; оставить поменять местами без перестановки

    innerloop: Mov ax, [bx + si]; загрузить номер в ax
    cmp ax, [bx + si + 2]; сравнить со следующим номером
    jl noswap ; без замены, если уже в порядке



    mov dx, [bx + si + 2]; загрузить второй элемент в dx
    mov [bx + si], dx; сохранить первый номер во втором
    mov [bx + si + 2], ax; сохранить второй numberin first
    mov word [swap], 1; признак того, что замена была произведена

    noswap: добавить si, 2; перейти к следующему индексу si
    cmp si, cx; мы наконец индексируем
    jle innerloop; если не cmpare следующие два

    слова cmp [swap], 1; проверяем, был ли произведен обмен
    jnl mainloop; если да, сделайте еще один проход

    ret; вернитесь туда, откуда мы пришли

    start: Mov bx, data; отправить начало массива в bx

    mov cx, 10; отправить количество элементов в cx
    call bubbleort; вызвать нашу подпрограмму

Напишите свой ответ

Ваш ответ появится после модерации