Advertisement
Guest User

Untitled

a guest
Dec 14th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. ;421
  2. ;все элементы исх. массива больше нуля располагаются в │
  3. ;порядке убывания от конца исходного массива, остальные │
  4. ;элементы записываются с начала массива в естественном порядке;
  5.  
  6. ;больше среднего арифметического наибольшего и последнего элемента исходного массива.
  7.  
  8. ;Базовая │ Индексная
  9.  
  10. .model small
  11. .386
  12.  
  13. .data
  14. start_array dd 1,-13,7,4,-5,2,8,8,-9,-10; начальный массив размерностью слово с выделением памяти под 10 элементов
  15. mas dd 6 dup (?); массив для положительны элементов
  16. result_array dd 6 dup (?) ; конечный массив размерностью слово с выделением памяти под 10 элементов
  17. k word ?
  18. index word ?
  19. tmp word ?
  20. r word ?
  21.  
  22. .code
  23. .startup
  24. mov bx, 0 ; i=0
  25. mov ax, 0 ; 0
  26. mov cx, 10 ;n=10
  27. mov si, 0 ; k = 0;
  28.  
  29. begin1:
  30. mov ebp,[start_array+bx]
  31. cmp bp,0;
  32. Jl end_begin3 ; if (mas[i]>0)
  33. mov edx,start_array[bx]
  34. mov mas[si],edx ; temp[k]=mas[i]
  35. add si,4 ;k++
  36. end_begin3:
  37. add bx, 4; i++
  38. loop begin1
  39.  
  40.  
  41. mov bx, 0 ; i=0
  42. mov ax, 0 ; 0
  43. mov cx, 10 ;n=10
  44. mov si, 0 ; k = 0;
  45.  
  46. begin:
  47. mov ebp,[start_array+bx]
  48. cmp ebp,0;
  49. Jg end_begin2 ; if (mas[i]<0)
  50. mov edx,start_array[bx]
  51. mov start_array[si],edx ; temp[k]=mas[i]
  52. add si,4 ;k++
  53. end_begin2:
  54. add bx, 4; i++
  55. loop begin
  56.  
  57. mov edx, 0 ; j=0
  58. mov cx, 10; n=10
  59. mov bx, 0 ; i=0
  60.  
  61. mov bp,0;
  62.  
  63. meow:
  64. mov edx, [mas+bx];min = mas[i]
  65. mov ebp, ebx; j = i+1
  66. mov index, bx
  67. meow2:
  68. add bp,4; j++
  69. mov esi,[mas+bp]
  70. cmp esi,edx ;if (mas[j]>=min)
  71. JGE end_meow3
  72. mov edx,[mas+bp]; min = mas[j]
  73. mov index, bp ;index = j
  74. end_meow3:
  75. cmp bp, 20 ;j<n
  76. JL meow2
  77. mov esi,[mas+bx]; tmp = mas[i]
  78. mov [mas+bx], edx ; mas [i] = min
  79. mov r,bx
  80. mov bx, index
  81. mov [mas + bx ],esi ;
  82. mov bx,r
  83. add bx,4; i++
  84. loop meow
  85.  
  86.  
  87. mov bx, 36; i=8
  88. mov si , 20
  89. mov cx , 12
  90. xor dx,dx
  91. array:
  92. mov edx,[mas+si]
  93. mov [start_array+bx] , edx
  94. sub bx,4; i--
  95. sub si,4
  96. loop array
  97.  
  98. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;конец сортировки
  99.  
  100.  
  101.  
  102. .exit
  103. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement