Цикл перезаписи массива - 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
Объяснение кода листинга программы
mov es,ax- Переменнаяesсодержит сегментный адрес стека, аaxсодержит базовый адрес стека. Эта команда переносит базовый адрес стека в регистрes.