Ассемблер проверьте программу и посоветуйте как сделать лучше
.Задан байтовый массив из N элементов и упорядочен по возрастанию значений своих элементов. Написать процедуру вставки заданного значения X в этот массив, не нарушающей его упорядоченности.
model small
data_sg segment
xdb3
adb1,2,3,4,5,6,7,8,9
n=$-a
.stack 100h
data_sg ends
code_sg segment
assume cs:code_sg, ds:data_sg
qqqqproc
xorsi,si
m3:
moval,a[si]
cmpx,al
jgm1
movdi,n
decdi
movcx,si
inccx
m2:
movbl,a[di-1]
mova[di],bl
decdi
cmpdi,cx
jgem2
moval,x
mova[si],al
jmpexit
m1:
incsi
cmpsi,n
jlm3
exit:
ret
qqqqendp
start:
movax,data_sg
movds,ax
callqqqq
movax,4c00h
int21h
ret
code_sg ends
end start