Advertisement
Guest User

Untitled

a guest
May 24th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .model  small
  2.     .stack  1000h
  3.     .386
  4.  
  5.     .data
  6.  
  7.  
  8. stq db  'esly,  ...    ..... ..   .    pomogete$'
  9.    
  10. l   dw  $-stq
  11.  
  12.     .code
  13. start:
  14.     mov ax, @data
  15.     mov ds, ax
  16.     xor ax, ax
  17.     mov cx, l
  18.     xor si, si
  19.     mov dx, 2eh
  20.  
  21. steck:
  22.     cmp bx, 16
  23.     je  row
  24.    
  25.     mov al, byte ptr stq[bx][di]
  26.     push    ax
  27.     xor ax, ax
  28.     inc bx
  29.     jmp tre
  30. row:
  31.     add di, 16
  32.     xor bx, bx
  33.     jmp steck
  34. tre:
  35.     loop    steck
  36.  
  37.     xor bx, bx
  38.     xor di, di
  39.     xor cx, cx
  40.     xor dx, dx
  41.     xor ax, ax
  42.    
  43.  
  44.  
  45.     xor ax, ax
  46.     mov cx, l
  47.     xor si, si
  48.     mov dx, 2eh
  49.  
  50. steck1:
  51.     cmp bx, 16
  52.     je  row1
  53.     pop ax
  54.     mov byte ptr stq[bx][di], al
  55.     xor ax, ax
  56.     inc bx
  57.     jmp tre1
  58. row1:
  59.     add di, 16
  60.     xor bx, bx
  61.     jmp steck1
  62. tre1:
  63.     loop    steck1
  64.  
  65.     xor bx, bx
  66.     xor di, di
  67.     xor cx, cx
  68.     xor dx, dx
  69.     xor ax, ax
  70.  
  71.     mov cx, l
  72.     xor si, si
  73.     mov dx, 2eh
  74.  
  75.  
  76. steck2:
  77.     cmp bx, 16
  78.     je  row2
  79.    
  80.     mov al, byte ptr stq[bx][di]
  81.     push    ax
  82.     xor ax, ax
  83.     inc bx
  84.     jmp tre2
  85. row2:
  86.     add di, 16
  87.     xor bx, bx
  88.     jmp steck2
  89. tre2:
  90.     loop    steck2
  91.  
  92.     xor bx, bx
  93.     xor di, di
  94.     xor cx, cx
  95.     xor dx, dx
  96.     xor ax, ax
  97.     mov cx, l
  98.     xor si, si
  99.     mov dx, 2eh
  100.  
  101. sort:
  102.     cmp bx, 16
  103.     je  rot
  104.  
  105.     pop ax
  106.  
  107.     cmp ax, 20h
  108.     je  space
  109. ttt:
  110.     cmp ax, 2eh
  111.     je  dote1
  112.  
  113.     mov byte ptr stq[bx][di], al
  114.    
  115.     inc bx
  116. ;   cmp ax, 24h
  117. ;   je  finish1
  118.     xor ax, ax
  119.     jmp finish
  120.  
  121. space:
  122.     mov byte ptr stq[bx][di], al
  123.     mov dx, ax
  124.     inc bx
  125.     xor ax, ax
  126.     jmp space2
  127. space1:
  128.    
  129.     dec cx
  130. space2:
  131.     xor ax, ax
  132.  
  133.     pop ax
  134.     cmp ax, 20h
  135.     je  space1
  136.     jne ttt
  137. dote1:
  138.     mov bp, ax
  139.     xor ax, ax
  140.     pop ax
  141.    
  142.     cmp ax, 2eh
  143.     je  dote2
  144.    
  145.     jne nodote1
  146.  
  147. dote2:
  148.     xor ax, ax
  149.     pop ax
  150.     xor bp, bp
  151.     mov bp, ax
  152.     cmp ax, 2eh
  153.     je  dadote3
  154.     jne nodote2
  155.  
  156. nodote1:
  157.     mov byte ptr stq[bx][di], 2ah
  158.     inc bx
  159.     cmp bx, 16
  160.     jne rrr
  161.     add di, 16
  162.     xor bx, bx
  163. rrr:
  164.  
  165.     cmp al, 20h
  166.     je  space4
  167.     mov byte ptr stq[bx][di], al
  168.     inc bx
  169.     dec cx
  170.     jmp finish
  171. finish:
  172.     loop    sort
  173.     jmp finish1
  174.  
  175. nodote2:
  176.     mov byte ptr stq[bx][di], 2ah
  177.     inc bx
  178.  
  179.     cmp bx, 16
  180.     jne rr2
  181.  
  182.     add di, 16
  183.     xor bx, bx
  184. rr2:
  185.     mov byte ptr stq[bx][di], 2ah
  186.     inc bx
  187.     cmp bx, 16
  188.     jne rr22
  189.     add di, 16
  190.     xor bx, bx
  191. rr22:
  192.    
  193.     cmp ax, 20h
  194.     je  space5
  195.     mov byte ptr stq[bx][di], al
  196.     inc bx
  197.     dec cx
  198.     dec cx
  199.     jmp finish 
  200.  
  201. dadote3:
  202.     mov byte ptr stq[bx][di], 2dh
  203.     inc bx
  204.     dec cx 
  205.     dec cx
  206.     dec cx
  207.     jmp finish
  208. space5:
  209.     dec cx
  210. space4:
  211.     dec cx
  212.     jmp space
  213. ;;  cmp bx, 16
  214. ;;  jne rot
  215. ;  
  216. ;
  217. ;   add di, 16
  218. ;   xor bx, bx
  219. ;d3:   
  220. ;   mov byte ptr stq[bx][di], 2ah
  221. ;   inc bx
  222. ;  
  223. ;   cmp bx, 16
  224. ;   jne de3
  225. ;
  226. ;   add di, 16
  227. ;   xor bx, bx
  228. ;de3:
  229. ;   mov byte ptr stq[bx][di], 2ah
  230. ;   inc bx 
  231. ;   cmp bx, 16
  232. ;   jne dd3
  233. ;
  234. ;   add di, 16
  235. ;   xor bx, bx
  236. ;dd3:
  237. ;  
  238. ;   xor ax, ax
  239. ;   pop ax
  240. ;   mov byte ptr stq[bx][di], al
  241. ;   inc bx
  242. ;   dec cx
  243. ;   dec cx
  244. ;   dec cx
  245. ;   jmp sort
  246.  
  247. rot:
  248.     add di, 16
  249.     xor bx, bx
  250.     jmp sort
  251.    
  252.  
  253. finish1:
  254.  
  255.    
  256.  
  257.    
  258.    
  259.     mov ax, 4c00h
  260.     int 21h
  261.     end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement