Advertisement
volkovich_maksim

task_7_22_v1_volkovich

May 4th, 2016
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. include io.asm ;подключение операций ввода-вывода
  2.  
  3. stack segment stack
  4.     dw 128 dup (?)
  5. stack ends
  6.  
  7. data segment
  8. ; место для переменных и констант
  9.     in1 db 'input 1st array','$'
  10.     in2 db 'input 2nd array','$'
  11.     arr1 dw 10 dup (0)
  12.     arr2 dw 10 dup (0)
  13.     yes db 'arrays are similar','$'
  14.     no db 'arrays are not similar','$'
  15.    
  16. data ends
  17.  
  18. code segment 'code'
  19.     assume ss:stack, ds:data, cs:code
  20. ; место для описания процедур
  21.  
  22. INP  PROC
  23.      mov cx,10d
  24.      mov si,0
  25. L:   inint ax
  26.      mov [bx][si],ax
  27.      inc si
  28.      inc si
  29.      loop L
  30.      ret
  31. INP  endp
  32.  
  33. SORT PROC
  34.      mov cx,9d
  35. N:   mov dx,cx
  36.      mov si,cx
  37.      sub si,9d
  38.      neg si
  39.      mov ax,[bx][si]
  40.      mov di,si
  41. N1:  inc si
  42.      inc si
  43.      cmp [bx][si],ax
  44.      JLE N2
  45.      mov di,si
  46.      mov ax,[bx][si]
  47. N2:  loop N1
  48.      mov si,dx
  49.      sub si,9d
  50.      neg si
  51.      cmp si,di
  52.      JE N3
  53. ;    xchg [bx][di],[bx][si]
  54.      mov cx,[bx][di]
  55.      xchg cx,[bx][si]
  56.      xchg cx,[bx][di]
  57. ;    
  58. N3:  mov cx,dx
  59.      dec cx
  60.      cmp cx,0
  61.      JE FSRT
  62.      dec cx
  63.      JMP N
  64. FSRT:ret
  65. SORT endp
  66.  
  67. COMP PROC
  68.      mov cx,10d
  69.      mov si,0
  70.      mov bx,arr1
  71.      mov bp,arr2
  72. M:   mov dx,[bx][si]
  73.      cmp dx,[bp][si]
  74.      JNE BF
  75.      inc si
  76.      inc si
  77.      loop M
  78.      mov dl,yes
  79.      outstr
  80.      newline
  81.      JMP F
  82.      loop M
  83. BF:  mov dl,no
  84.      outstr
  85.      newline
  86. F:   ret
  87. COMP endp
  88.      
  89. start:
  90.     mov ax,data
  91.     mov ds,ax
  92. ; команды программы должны располагаться здесь
  93.     lea dx,in1
  94.     outstr
  95.     newline
  96.     lea bx,arr1
  97.     call INP
  98.    
  99.     call SORT
  100.    
  101.     lea dx,in2
  102.     outstr
  103.     newline
  104.     lea bx,arr2
  105.     call INP
  106.    
  107.     call SORT
  108.    
  109.     call COMP
  110.    
  111.     finish
  112. code ends
  113.     end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement