Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model small
- .386
- option casemap : none
- .stack 100h
- .data
- array word 6 dup (?)
- nextarray word 6 dup (0)
- x word 0
- .code
- start:
- .startup
- mov ebx,0
- mov [array+ebx], 1
- add ebx, TYPE array
- mov [array+ebx], -2
- add ebx, TYPE array
- mov [array+ebx], 3
- add ebx, TYPE array
- mov [array+ebx], 4
- add ebx, TYPE array
- mov [array+ebx], -5
- add ebx, TYPE array
- mov [array+ebx], 8
- add ebx, TYPE array
- mov ax,[array+ebx]
- xor ecx, ecx
- xor ebx, ebx
- xor edx, edx
- mov edx, 6
- ;bubble sort
- Step2:
- xor ebx,ebx
- mov ebx,0
- mov cx, 5
- xor ebp,ebp
- Step:
- ;1 iter
- xor eax, eax
- mov ax, [array+ebx]
- add ebx, TYPE array
- mov bp, [array+ebx]
- cmp ax,bp
- jl L
- mov x, bp
- mov bp, ax
- mov ax, x
- L:
- mov [array+ebx-TYPE array],ax
- mov [array+ebx],bp
- dec cx
- cmp cx,0
- jne Step
- dec edx
- cmp edx,0
- jne Step2
- xor edx,edx
- xor eax,eax
- xor ebx,ebx
- ; summ of elements
- mov ebx , 0
- ;-5 -2 1 3 4 8
- Sum_Jump:
- mov dx,[array+ebx]
- add ax,dx
- add ebx, TYPE array
- add ebx, TYPE array
- cmp ebx,12
- jna Sum_Jump
- ;div
- ;create second array
- xor edx,edx
- xor ebx,ebx
- mov cx,6
- mov edx,0
- do:
- mov bx,array [ edx ]
- cmp ax,bx
- jge if_sum_or_equ
- mov nextarray [edx],bx
- if_sum_or_equ:
- add edx, TYPE array
- dec cx
- cmp cx,0
- jne do
- .EXIT
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement