Мне нужно Bubblesort неорганизованный массив с 7 целыми числами от самого большого до самого маленького, чтобы он выглядел как 9,6,5,4,3,2,1.
Я побежал мой код через компилятор, и он говоритBubble сортировать по массиву на языке сборки
Я не могу понять, в чем проблема с этим кодом:
code segment
assume ds:code,cs:code
start:
mov ax,code
mov ds,ax ;code start
ARR: dw 1,2,4,3,6,5,9
mov ch,0h
mov cl,1h
mov bh 7h
jmp assign_nums
restart:
mov ch,0h
mov cl,1h
dec bh
jmp assign_nums
swap:
mov ch,dl
mov cl,dh
jmp next
next:
cmp bh,cl
je restart
add ch,1h
add cl,1h
jmp assign_nums
assign_nums:
cmp bh,0h
je done
mov dh,[ARR+ch]
mov dl,[ARR+cl]
cmp dh,dl
jl swap
jnl next
done:
nop
code ends
end start
так что это куча спагетти кода? есть ли лучший способ кодировать это? Я не знаю, что я здесь делаю с кодом сборки – Puloko
Ответ от user3144770 замечательный. Единственное изменение, которое я сделал бы, это не дать возможность перепрыгивать через ARRAY. Поместите ARR в .data сегмент '.DATA ИЛИ .FARDATA DSEG' ' ARR: dw 1,2,4,3,6,5,9' – BKCOHEN