Реализация алгоритма пузырьковой сортировки LMC с входными значениями

Я предоставлю вам код LMC (Little Man Computer) для реализации алгоритма пузырьковой сортировки с использованием входных значений. Вот код:

ORG 100
    LDA N
    STA COUNT
    LDA N
OUT SUBTWO
    STA TEMP
    LDA COUNT
LOOP SUBONE
    STA COUNT
    LDA COUNT
    ADDSUB
    STA COUNT
    LDA TEMP
    STO NEXT
    LDA COUNT
    SUBONE
    STA COUNT
    LDA COUNT
    SUBONE
    STA COUNT
    LDA COUNT
    ADDTEMP
    STA COUNT
    LDA NEXT
    ADDTEMP
    STA TEMP
    LDA COUNT
    ADDONE
    STA COUNT
    LDA COUNT
    STA X
    LDA COUNT
    ADDONE
    STA COUNT
    LDA COUNT
    STO Y
    LDA Y
    STO CMP
    LDA ARRAY
    STO X
    LDA CMP
    STO Y
    LDA X
    STO ARRAY
    LDA Y
    STO X
    LDA ARRAY
    STO Y
    LDA COUNT
    SUBONE
    BRP LOOP
    LDA N
OUT SUBTWO
    LDA N
    STO TEMP
    LDA COUNT
LOOP2 SUBONE
    STA COUNT
    LDA COUNT
    ADDSUB
    STA COUNT
    LDA TEMP
    STO NEXT2
    LDA COUNT
    SUBONE
    STA COUNT
    LDA COUNT
    SUBONE
    STA COUNT
    LDA COUNT
    ADDTEMP
    STA COUNT
    LDA NEXT2
    ADDTEMP
    STA TEMP
    LDA COUNT
    ADDONE
    STA COUNT
    LDA COUNT
    STA X
    LDA COUNT
    ADDONE
    STA COUNT
    LDA COUNT
    STO Y
    LDA Y
    STO CMP
    LDA ARRAY
    STO X
    LDA CMP
    STO Y
    LDA X
    STO ARRAY
    LDA Y
    STO X
    LDA ARRAY
    STO Y
    LDA COUNT
    SUBONE
    BRP LOOP2
    LDA N
    OUT
    HLT
ARRAY DAT
N     DAT
SUBTWO DAT 2
SUBONE DAT -1
ADDONE DAT 1
ADDSUB DAT -1
ADDTEMP DAT 0
NEXT DAT 0
X    DAT 0
Y    DAT 0
CMP  DAT 0
NEXT2 DAT 0
END

Чтобы запустить этот код, вам необходимо заменить значение Nколичеством элементов, которые вы хотите отсортировать, и указать элементы массива в разделе ARRAY.

Обратите внимание, что LMC представляет собой упрощенную архитектуру образовательного компьютера, и этот код специфичен для этой архитектуры. Он может быть неприменим напрямую к другим языкам программирования или платформам.