Advertisement
Guest User

Untitled

a guest
May 24th, 2018
121
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. w   db  500 dup(?)
  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. enterstr:
  20.     xor ax, ax
  21.     cmp bx, 16
  22.     je  rrow
  23.    
  24.     inc cx
  25.     mov ah, 01h
  26.     int 21h
  27.  
  28.     mov byte ptr [bx][di], al
  29.     inc bx 
  30.    
  31.     cmp al, 7eh
  32.     je  prog
  33.     jne enterstr
  34.  
  35. rrow:
  36.     add di, 16
  37.     xor bx, bx
  38.     jmp enterstr
  39.  
  40. prog:
  41.     mov bp, cx
  42.     mov dx, 2eh
  43.     xor ax, ax
  44.     xor bx, bx
  45.     xor di, di
  46.  
  47. steck:
  48.     cmp bx, 16
  49.     je  row
  50.    
  51.     mov al, byte ptr [bx][di];!
  52.     push    ax
  53.     xor ax, ax
  54.     inc bx
  55.     jmp tre
  56. row:
  57.     add di, 16
  58.     xor bx, bx
  59.     jmp steck
  60. tre:
  61.     loop    steck
  62.  
  63.     xor bx, bx
  64.     xor di, di
  65.     xor cx, cx
  66.     xor dx, dx
  67.     xor ax, ax
  68.    
  69.  
  70.  
  71.     xor ax, ax
  72.     mov cx, bp
  73.     xor si, si
  74.     mov dx, 2eh
  75.  
  76. steck1:
  77.     cmp bx, 16
  78.     je  row1
  79.     pop ax
  80.     mov byte ptr [bx][di], al;!
  81.     xor ax, ax
  82.     inc bx
  83.     jmp tre1
  84. row1:
  85.     add di, 16
  86.     xor bx, bx
  87.     jmp steck1
  88. tre1:
  89.     loop    steck1
  90.  
  91.     xor bx, bx
  92.     xor di, di
  93.     xor cx, cx
  94.     xor dx, dx
  95.     xor ax, ax
  96.  
  97.     mov cx, bp
  98.     xor si, si
  99.     mov dx, 2eh
  100.  
  101.  
  102. steck2:
  103.     cmp bx, 16
  104.     je  row2
  105.    
  106.     mov al, byte ptr [bx][di];!
  107.     push    ax
  108.     xor ax, ax
  109.     inc bx
  110.     jmp tre2
  111. row2:
  112.     add di, 16
  113.     xor bx, bx
  114.     jmp steck2
  115. tre2:
  116.     loop    steck2
  117.  
  118.     xor bx, bx
  119.     xor di, di
  120.     xor cx, cx
  121.     xor dx, dx
  122.     xor ax, ax
  123.     mov cx, bp
  124.     xor si, si
  125.     mov dx, 2eh
  126.  
  127. sort:
  128.     cmp bx, 16
  129.     je  rot
  130.  
  131.     pop ax
  132.  
  133.     cmp ax, 20h
  134.     je  space
  135. ttt:
  136.     cmp ax, 2eh
  137.     je  dote1
  138.  
  139.     mov byte ptr [bx][di], al;!
  140.    
  141.     inc bx
  142. ;   cmp ax, 24h
  143. ;   je  finish1
  144.     xor ax, ax
  145.     jmp finish
  146.  
  147. space:
  148.     mov byte ptr [bx][di], al;!
  149.     mov dx, ax
  150.     inc bx
  151.     xor ax, ax
  152.     jmp space2
  153. space1:
  154.    
  155.     dec cx
  156. space2:
  157.     xor ax, ax
  158.  
  159.     pop ax
  160.     cmp ax, 20h
  161.     je  space1
  162.     jne ttt
  163. dote1:
  164.     mov bp, ax
  165.     xor ax, ax
  166.     pop ax
  167.    
  168.     cmp ax, 2eh
  169.     je  dote2
  170.    
  171.     jne nodote1
  172.  
  173. dote2:
  174.     xor ax, ax
  175.     pop ax
  176.     xor bp, bp
  177.     mov bp, ax
  178.     cmp ax, 2eh
  179.     je  dadote3
  180.     jne nodote2
  181.  
  182. nodote1:
  183.     mov byte ptr [bx][di], 2ah;!
  184.     inc bx
  185.     cmp bx, 16
  186.     jne rrr
  187.     add di, 16
  188.     xor bx, bx
  189. rrr:
  190.  
  191.     cmp al, 20h
  192.     je  space4
  193.     mov byte ptr [bx][di], al;!
  194.     inc bx
  195.     dec cx
  196.     jmp finish
  197. finish:
  198.     loop    sort
  199.     jmp finish1
  200.  
  201. nodote2:
  202.     mov byte ptr [bx][di], 2ah;!
  203.     inc bx
  204.  
  205.     cmp bx, 16
  206.     jne rr2
  207.  
  208.     add di, 16
  209.     xor bx, bx
  210. rr2:
  211.     mov byte ptr [bx][di], 2ah;!
  212.     inc bx
  213.     cmp bx, 16
  214.     jne rr22
  215.     add di, 16
  216.     xor bx, bx
  217. rr22:
  218.    
  219.     cmp ax, 20h
  220.     je  space5
  221.     mov byte ptr [bx][di], al;!
  222.     inc bx
  223.     dec cx
  224.     dec cx
  225.     jmp finish 
  226.  
  227. dadote3:
  228.     mov byte ptr [bx][di], 2dh;!
  229.     inc bx
  230.     dec cx 
  231.     dec cx
  232.     dec cx
  233.     jmp finish
  234. space5:
  235.     dec cx
  236. space4:
  237.     dec cx
  238.     jmp space
  239. ;;  cmp bx, 16
  240. ;;  jne rot
  241. ;  
  242. ;
  243. ;   add di, 16
  244. ;   xor bx, bx
  245. ;d3:   
  246. ;   mov byte ptr [bx][di], 2ah;!
  247. ;   inc bx
  248. ;  
  249. ;   cmp bx, 16
  250. ;   jne de3
  251. ;
  252. ;   add di, 16
  253. ;   xor bx, bx
  254. ;de3:
  255. ;   mov byte ptr [bx][di], 2ah;!
  256. ;   inc bx 
  257. ;   cmp bx, 16
  258. ;   jne dd3
  259. ;
  260. ;   add di, 16
  261. ;   xor bx, bx
  262. ;dd3:
  263. ;  
  264. ;   xor ax, ax
  265. ;   pop ax
  266. ;   mov byte ptr [bx][di], al;!
  267. ;   inc bx
  268. ;   dec cx
  269. ;   dec cx
  270. ;   dec cx
  271. ;   jmp sort
  272.  
  273. rot:
  274.     add di, 16
  275.     xor bx, bx
  276.     jmp sort
  277.    
  278.  
  279. finish1:
  280.  
  281.    
  282.  
  283.    
  284.    
  285.     mov ax, 4c00h
  286.     int 21h
  287.     end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement