Блок схема по коду - 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:

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

  1. lodsb - загрузка байта из памяти в регистр SI.
  2. mov ah,[si] - перемещение значения из регистра SI в регистр AH.
  3. cmp al,ah - сравнение значений в регистрах AL и AH.
  4. jbe m1 - переход к метке M1, если значение в регистре AL больше или равно значению в регистре AH.
  5. mov [si]-1,ah - запись значения в регистре AH в память по адресу, содержащемуся в регистре SI, с уменьшением значения в регистре SI на 1.
  6. mov [si],al - запись значения в регистре AL в память по адресу, содержащемуся в регистре SI.
  7. m1: - метка, к которой происходит переход в случае, если значение в регистре AL больше или равно значению в регистре AH.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

12   голосов , оценка 3.583 из 5