ostapdontstop

15c

Jan 7th, 2021
1,452
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;====== Программа 15. Файл z4_pr15.asm ====================
  2.  
  3. masm
  4. model tiny
  5.  
  6. .code
  7.     org     100h
  8.  
  9. start:
  10.  
  11.     call print_arr
  12.  
  13.     mov cx,len
  14.     dec cx
  15.     mov bx,0
  16. .outer:
  17.  
  18.     push cx
  19.     mov cx,len
  20.     sub cx,bx
  21.     dec cx
  22.  
  23.     mov si,bx
  24.     mov di,bx ;индекс минимального элемента в данной итерации
  25.     mov dl,array[di]
  26.  
  27. .inner:
  28.     inc si
  29.     cmp dl,array[si]
  30.  
  31.     jng .body
  32.     mov di,si
  33.     mov dl,array[di]
  34.  
  35.  
  36. .body:
  37.     loop .inner
  38.  
  39.     cmp di,bx
  40.     je .continue
  41.     xchg array[bx], dl
  42.     mov  array[di], dl
  43.  
  44. .continue:
  45.     inc bx
  46.     pop cx
  47.     loop .outer
  48.     pop cx
  49.  
  50.  
  51.     call print_arr
  52.  
  53. .exit:
  54.     mov ax,4c00h
  55.     int 21h
  56.  
  57.  
  58. print_arr proc
  59.  
  60.     mov cx,len
  61.     mov bx,0
  62. .l:
  63.     mov dl,array[bx]
  64.     or dl,30h
  65.     mov ah,02h
  66.     int 21h
  67.  
  68.     mov dl, 20h
  69.     int 21h
  70.  
  71.     inc bx
  72.     loop .l
  73.  
  74. .endl:
  75.     mov dl,10
  76.     int 21h
  77.  
  78.     ret
  79.  
  80. print_arr endp
  81.  
  82.  
  83. array   db  1,9,8,5,2,0,7,4,3,6
  84. len     equ $-array
  85.  
  86.     end start
  87.  
  88.  
RAW Paste Data