Сортировка прямым обменом (метод пузырька)
Сравнение и обмен пар соседних элементов до их полного упорядочивания.
[ 1] : data segment
[ 2] 0000: 2C 37 0C 2A 5E 12 06 43 mas db 44,55,12,42,94,18,06,67
[ 3] 0008: n=$-mas
[ 4] 0008: 00 x db 0
[ 5] :
[ 6] :
[ 7] : data ends
[ 8] :
[ 9] : code segment
[ 10] 0010: start:
[ 11] :
[ 12] :
[ 13] 0010: B9 07 00 mov cx,n-1
[ 14] 0013: BE 01 00 mov si,1
[ 15] 0016: cykl1:
[ 16] 0016: 51 push cx
[ 17] 0017: B9 08 00 mov cx,N
[ 18] 001A: 2B CE sub cx,si
[ 19] 001C: 56 push si
[ 20] 001D: BE 07 00 mov si,N-1
[ 21] 0020: cykl2:
[ 22] 0020: 8A 44 FF mov al,mas[si-1]
[ 23] :
[ 24] 0023: 38 04 cmp mas[si],al
[ 25] 0025: 77 0D ja m1
[ 26] 0027: A2 08 00 mov X,al
[ 27] 002A: 8A 04 mov al,mas[si]
[ 28] :
[ 29] :
[ 30] 002C: 88 44 FF mov mas[si-1],al
[ 31] 002F: A0 08 00 mov al,X
[ 32] 0032: 88 04 mov mas[si],al
[ 33] :
[ 34] :
[ 35] 0034: 4E m1: dec si
[ 36] 0035: E2 E9 loop cykl2
[ 37] 0037: 5E pop si
[ 38] 0038: 46 inc si
[ 39] 0039: 59 pop cx
[ 40] 003A: E2 DA loop cykl1
[ 41] :
[ 42] :
[ 43] 003C: B8 00 4C mov ax,4c00h
[ 44] 003F: CD 21 int 21h
[ 45] :
[ 46] : end start
