Advertisement
Guest User

Untitled

a guest
Oct 4th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 1.75 KB | None | 0 0
  1. .model small
  2. .386
  3. option casemap : none
  4. .stack 100h
  5.  
  6. .data
  7. array word 6 dup (?)
  8. nextarray  word 6 dup (0)
  9. x word 0
  10. .code
  11. start:
  12.     .startup
  13.     mov ebx,0
  14.    
  15.     mov [array+ebx], 1
  16.     add ebx, TYPE array
  17.     mov [array+ebx], -2
  18.     add ebx, TYPE array
  19.     mov [array+ebx], 3
  20.     add ebx, TYPE array
  21.     mov [array+ebx], 4
  22.     add ebx, TYPE array
  23.     mov [array+ebx], -5
  24.     add ebx, TYPE array
  25.     mov [array+ebx], 8
  26.     add ebx, TYPE array
  27.     mov ax,[array+ebx]
  28.    
  29.  
  30.     xor ecx, ecx
  31.     xor ebx, ebx
  32.     xor edx, edx
  33.     mov edx, 6
  34.     ;bubble sort
  35.     Step2:
  36.         xor ebx,ebx
  37.         mov ebx,0
  38.         mov cx, 5
  39.         xor ebp,ebp
  40.         Step:
  41.     ;1 iter
  42.             xor eax, eax
  43.            
  44.             mov ax, [array+ebx]
  45.             add ebx, TYPE array
  46.             mov bp, [array+ebx]
  47.             cmp ax,bp
  48.             jl L
  49.             mov x, bp
  50.             mov bp, ax
  51.             mov ax, x
  52.              L:
  53.              mov [array+ebx-TYPE array],ax  
  54.              mov [array+ebx],bp
  55.         dec cx
  56.         cmp cx,0
  57.         jne Step
  58.      dec edx
  59.      cmp edx,0
  60.      jne Step2
  61.      
  62.     xor edx,edx
  63.     xor eax,eax
  64.     xor ebx,ebx
  65.    
  66.     ; summ of elements
  67.     mov ebx , 0
  68.         ;-5 -2 1 3 4 8
  69.     Sum_Jump:
  70.         mov dx,[array+ebx]
  71.         add ax,dx
  72.         add ebx, TYPE array
  73.         add ebx, TYPE array
  74.         cmp ebx,12
  75.     jna Sum_Jump
  76.     ;div
  77.  
  78.     ;create second array
  79.     xor edx,edx
  80.     xor ebx,ebx
  81.  
  82.     mov cx,6
  83.     mov edx,0
  84.  
  85.     do:
  86.  
  87.  
  88.         mov bx,array [ edx ]
  89.         cmp ax,bx
  90.         jge if_sum_or_equ
  91.             mov nextarray [edx],bx
  92.             if_sum_or_equ:
  93.         add edx, TYPE array
  94.     dec cx
  95.     cmp cx,0
  96.     jne do
  97.  
  98.     .EXIT
  99.     end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement