Задание по сортировке - Assembler
Формулировка задачи:
Есть задание, которое звучит следующим образом:
Отсортировать заданный массив на положительные и отрицательные числа. Длинна массива 100 байт. Адрес исходного массива 5B00:1000H, адрес положительных чисел 5C00:2000H, адрес отрицательных - 6000:3000H.
Код нужен под 8086, заранее благодарен
Решение задачи: «Задание по сортировке»
textual
Листинг программы
- .model tiny
- .code
- org 100h
- Start:
- mov ax,5B00h
- mov ds,ax
- mov ax,5C00h
- mov es,ax
- mov si,1000h ; исходный (в сегменте ds)
- mov di,2000h ; положительные (в сегменте es)
- mov bx,3000h+(6000h-5B00h)*10h ; отрицательные (в сегменте ds)
- mov cx,100
- @@next:
- lodsb ; al=ds:[si], si=si+1
- test al,al
- jns @@pos
- mov [bx],al ; орицательное
- inc bx
- cmp al,?
- org $-1
- @@pos:
- stosb ; положительное es:[di]=al, di=di+1
- @@cont:
- loop @@next
- int 20h
- end Start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д