§ Код
Этот код создан на основе алгоритма
быстрой сортировки и он сортирует рандомные пиксели на экране.
1 org 100h
2 mov ax, 0013h
3 int 10h
4 mov ax, $A000
5 mov es, ax
6 call random
7 push word $0000
8 push word $ffff
9 call qsort
10 xor ax, ax
11 int 16h
12 ret
13
14
15random: xor di, di
16 mov cx, 32000
17@@: mul bx
18 add ax, cx
19 add bx, ax
20 add ax, dx
21 stosw
22 loop @b
23 ret
24
25
26
27
28
29qsort: push bp
30 mov bp, sp
31 mov si, [bp+6]
32 mov di, [bp+4]
33 mov bx, si
34 add bx, di
35 rcr bx, 1
36
37 mov al, [es:bx]
38.K1: inc si
39 cmp [es:si-1], al
40 jb .K1
41.K2: dec di
42 cmp [es:di+1], al
43 ja .K2
44 dec si
45 inc di
46 cmp si, di
47 ja .K3
48 mov ah, [es:si]
49 xchg ah, [es:di]
50 xchg ah, [es:si]
51 inc si
52 dec di
53 cmp si, di
54 jbe .K1
55
56.K3: cmp [bp+6], di
57 jnb @f
58 push word [bp+6]
59 push di
60 call qsort
61@@: cmp si, [bp+4]
62 jnb @f
63 push si
64 push word [bp+4]
65 call qsort
66@@: pop bp
67 ret 4