Скачиваний:
15
Добавлен:
11.04.2015
Размер:
923 б
Скачать
23.задан байтовый массив из N элементов в неупакованном BCD формате. Написать процедуру сортировки по возрастанию исходного массива.
model small
data_sg segment
k db 0
a db 5,7,4,3,6,8,2,5
n=$-a
data_sg ends
.stack 100h
code_sg segment
assume cs:code_sg, ds:data_sg
sergey proc
xor si,si
mov di,n
sub di,2
m5:
mov al,a[si]
mov bl,a[si+1]
mov cl,a[si+2]
mov dl,a[si+3]
cmp al,cl
jle m1
xchg al,cl
xchg bl,dl
push ax
mov al,1
mov k,al
pop ax
jmp m2
m1:
cmp al,cl
jne m2
cmp bl,dl
jle m2
xchg bl,dl
push ax
mov al,1
mov k,al
pop ax
m2:
mov a[si],al
mov a[si+1],bl
mov a[si+2],cl
mov a[si+3],dl
add si,2
cmp si,di
jl m3
mov al,k
cmp al,0
jne m3
jmp exit
m3:
cmp si,di
jl m4
mov al,k
cmp al,1
jne m4
xor si,si
xor al,al
mov k,al
m4:
jmp m5
exit:
ret
sergey endp
start:
mov ax,data_sg
mov ds,ax
call sergey
mov ax,4c00h
int 21h
ret
code_sg ends
end start
Соседние файлы в папке задачи на экзамен