Question: Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order. write a bubble sorts
Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order.
write a bubble sorts in assembly language.
Example: First Pass: ( 5 1 4 2 8 ) > ( 1 5 4 2 8 ), Here, algorithm compares the first two elements, and swaps since 5 > 1. ( 1 5 4 2 8 ) > ( 1 4 5 2 8 ), Swap since 5 > 4 ( 1 4 5 2 8 ) > ( 1 4 2 5 8 ), Swap since 5 > 2 ( 1 4 2 5 8 ) > ( 1 4 2 5 8 ), Now, since these elements are already in order (8 > 5), algorithm does not swap them.
Second Pass: ( 1 4 2 5 8 ) > ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) > ( 1 2 4 5 8 ), Swap since 4 > 2 ( 1 2 4 5 8 ) > ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) > ( 1 2 4 5 8 ) Now, the array is already sorted, but our algorithm does not know if it is completed. The algorithm needs one whole pass without any swap to know it is sorted.
Third Pass: ( 1 2 4 5 8 ) > ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) > ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) > ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) > ( 1 2 4 5 8 )
continue this in assembly language masm
INCLUDE Irvine32.inc
.data
myArray Byte 5,1,4,2,8
.code
main PROC
mov ecx, Lengthof myArray
dec ecx
L1: push ecx
mov esi,offset myArray
L2: mov eax, [esi]
cmp [esi+1],eax
jge L3
xchg eax [esi+1]
mov [esi],eax
L3: inc esi
Loop L2
pop eax
Loop L1
ret
ENDP
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
