Цикл перезаписи массива - Assembler

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

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

Есть программа, сортирует массив, нужно результирующий массив перезаписать из mas[si] в res[si]. Сам пробывал, но где-то косячил постоянно, значения менялись.
.model small
.386
.data
mas db 6,11,9,8,3,7,8,1,2,6
len equ $-mas
tmp db 0
 
.stack 100h
 
.code
start:
    mov ax,@data
    mov ds,ax
 
    mov cx,len
    dec cx
    big:
    push cx
    xor si,si
        cyc:
            mov al,mas[si]
            cmp al,mas[si+1]
            jbe m1
            mov bl,mas[si]
            mov tmp,bl
            mov bl,mas[si+1]
            mov mas[si],bl
            mov bl,tmp
            mov mas[si+1],bl
        
            m1:
            inc si
        loop cyc
 
    pop cx
    loop big
 
    mov ax,4c00h
    int 21h
end start

Решение задачи: «Цикл перезаписи массива»

textual
Листинг программы
mov es,ax

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

  1. mov es,ax - Переменная es содержит сегментный адрес стека, а ax содержит базовый адрес стека. Эта команда переносит базовый адрес стека в регистр es.

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

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