Advertisement
Guest User

arko

a guest
Dec 3rd, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     org 100h
  2. start:
  3.  
  4.     call    pobierztekst
  5.     call    newline
  6.     call    szyfr
  7.     call    newline
  8.     call    konwertowanie
  9.     call    wyswietl
  10.     call    newline
  11.     call    szyfrowanie
  12.     call    wyswietl
  13.    
  14. koniec:
  15.  
  16.     mov     ax, 4C00h
  17.     int     21h
  18.  
  19. wyswietl:
  20.  
  21.     mov     ah, 9
  22.     mov     dx, tekst+2
  23.     int     21h
  24.  
  25. ret
  26.  
  27. szyfr:
  28.  
  29.     xor     ax, ax
  30.    
  31.     mov     ah, 9
  32.     mov     dx, kom1
  33.     int     21h
  34.    
  35.     mov     ah, 10
  36.     mov     dx, szyfrd
  37.     int     21h
  38.  
  39.     mov     cl, 0
  40.    
  41.     mov     si, 2
  42.    
  43. pet3:
  44.  
  45.     xor     ax, ax
  46.     mov     ah, [szyfrd+si]
  47.     cmp     ah, '$'
  48.     je      kon3
  49.    
  50.     add     cl, 1
  51.     add     si, 1
  52.     jmp     pet3
  53.    
  54. kon3:
  55.  
  56.     mov     si, 2
  57.     xor     ax, ax
  58.     mov     dl, 0
  59. pet4:
  60.     cmp     cl, 0
  61.     je      kon4
  62.     mov     al, 10
  63.     mul     cl
  64.    
  65.     mov     bl, al
  66.     mov     al, [szyfr+si]
  67.    
  68.     sub     al, '0'
  69.    
  70.     mul     bl
  71.     add     dl, bl
  72.    
  73.     sub     cl, 1
  74.     add     si, 1
  75.     jmp     pet4
  76.  
  77. kon4:
  78.  
  79.     mov     al, [szyfr+si]
  80.     sub     al, '0'
  81.     add     dl, al
  82.  
  83.     mov     [szyfrb], dl
  84.    
  85. ret
  86.  
  87. newline:
  88.  
  89.     mov     ah, 2
  90.     mov     dl, 10
  91.     int     21h
  92.    
  93.     mov     dl, 13
  94.     int     21h
  95.    
  96. ret
  97.  
  98. pobierztekst:
  99.  
  100.     xor     ax, ax
  101.    
  102.     mov     ah, 9
  103.     mov     dx, kom2
  104.     int     21h
  105.    
  106.     xor     dx, dx
  107.     mov     ah, 10
  108.     mov     dx, tekst
  109.     int     21h    
  110.  
  111. ret
  112.  
  113. konwertowanie:
  114.     mov     si, 2
  115.    
  116. pet1:
  117.     xor     ax, ax
  118.    
  119.     mov     ah, [tekst+si]
  120.    
  121.     cmp     ah, '$'
  122.     je      kon1
  123.    
  124.     cmp     ah, 'A'
  125.     jb      mniejabig
  126.    
  127.     cmp     ah, 'Z'
  128.     ja      wiecejzbig
  129.    
  130.     add     ah, 32
  131.     mov     [tekst+si], ah
  132.    
  133. wroc:
  134.  
  135.     add     si, 1
  136.     jmp     pet1
  137.    
  138. mniejabig:
  139.  
  140.     mov     ah, 32
  141.     mov     [tekst+si], ah
  142.     jmp     wroc
  143.  
  144. wiecejzbig:
  145.  
  146.     cmp     ah, 'a'
  147.     jb      mniejalow
  148.    
  149.     cmp     ah, 'z'
  150.     ja      wiecejzlow
  151.    
  152.     jmp     wroc
  153.    
  154. mniejalow:
  155.  
  156.     mov     ah, 32
  157.     mov     [tekst+si], ah
  158.     jmp     wroc
  159.  
  160. wiecejzlow:
  161.  
  162.     mov     ah, 32
  163.     mov     [tekst+si], ah
  164.     jmp     wroc
  165.    
  166. kon1:
  167.  
  168. ret
  169.  
  170. szyfrowanie:
  171.  
  172.     mov     si, 2
  173.     mov     cl, [szyfrb]
  174.  
  175.     xor     dx, dx
  176.     xor     ch, ch
  177.     mov     ax, cx
  178.     mov     dl, 'z'
  179.     sub     dl, 'a'
  180.     div     dl
  181.     mov     ch, ah
  182.    
  183.    
  184. pet2:
  185.     mov     ah, [tekst+si]
  186.     cmp     ah, '$'
  187.     je      kon2
  188.    
  189.     cmp     ah, 32
  190.     je      wroc2
  191.    
  192.     add     ah, ch
  193.     cmp     ah, 'z'
  194.     ja      wiecej
  195.    
  196.     mov     [tekst+si], ah
  197.    
  198.     jmp     wroc2
  199.    
  200. wiecej:
  201.     xor     bx, bx
  202.     mov     bh, ah
  203.    
  204.     sub     bh, 'z'
  205.     mov     ah, 96
  206.     add     ah, bh
  207.     mov     [tekst+si], ah
  208.    
  209. wroc2:
  210.    
  211.     add     si, 1
  212.     jmp     pet2
  213.    
  214. kon2:
  215.  
  216. ret
  217.  
  218. kom1    db  "Podaj wartosc szyfru:  $"
  219. kom2    db  "Podaj tresc szyfru:    $"
  220. szyfrd  db  6
  221.         db 0
  222.         TIMES 7 db '$'
  223. szyfrb  db  0
  224. tekst   db  26
  225.         db  0
  226.         TIMES 27 db '$'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement