Блок схема по коду - Assembler
Формулировка задачи:
Помогите пожалуйста составить блок схему сортировки массива.
.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
Листинг программы
lodsb mov ah,[si] cmp al,ah jbe m1 mov [si]-1,ah mov [si],al m1:
Объяснение кода листинга программы
lodsb- загрузка байта из памяти в регистр SI.mov ah,[si]- перемещение значения из регистра SI в регистр AH.cmp al,ah- сравнение значений в регистрах AL и AH.jbe m1- переход к метке M1, если значение в регистре AL больше или равно значению в регистре AH.mov [si]-1,ah- запись значения в регистре AH в память по адресу, содержащемуся в регистре SI, с уменьшением значения в регистре SI на 1.mov [si],al- запись значения в регистре AL в память по адресу, содержащемуся в регистре SI.m1:- метка, к которой происходит переход в случае, если значение в регистре AL больше или равно значению в регистре AH.