Цикл перезаписи массива - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д