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

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

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

Есть программа, сортирует массив, нужно результирующий массив перезаписать из mas[si] в res[si]. Сам пробывал, но где-то косячил постоянно, значения менялись.
Листинг программы
  1. .model small
  2. .386
  3. .data
  4. mas db 6,11,9,8,3,7,8,1,2,6
  5. len equ $-mas
  6. tmp db 0
  7. .stack 100h
  8. .code
  9. start:
  10. mov ax,@data
  11. mov ds,ax
  12. mov cx,len
  13. dec cx
  14. big:
  15. push cx
  16. xor si,si
  17. cyc:
  18. mov al,mas[si]
  19. cmp al,mas[si+1]
  20. jbe m1
  21. mov bl,mas[si]
  22. mov tmp,bl
  23. mov bl,mas[si+1]
  24. mov mas[si],bl
  25. mov bl,tmp
  26. mov mas[si+1],bl
  27. m1:
  28. inc si
  29. loop cyc
  30. pop cx
  31. loop big
  32. mov ax,4c00h
  33. int 21h
  34. end start

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

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

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

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

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


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

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

14   голосов , оценка 4.357 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы