Advertisement
Guest User

Szyfr cezara WORIKING

a guest
Dec 3rd, 2019
120
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, 1
  36.     int     21h
  37.    
  38.     xor     ah, ah
  39.     sub     ax, '0'
  40.     mov     [szyfrb], ax
  41.    
  42. ret
  43.  
  44. newline:
  45.  
  46.     mov     ah, 2
  47.     mov     dl, 10
  48.     int     21h
  49.    
  50.     mov     dl, 13
  51.     int     21h
  52.    
  53. ret
  54.  
  55. pobierztekst:
  56.  
  57.     xor     ax, ax
  58.    
  59.     mov     ah, 9
  60.     mov     dx, kom2
  61.     int     21h
  62.    
  63.     xor     dx, dx
  64.     mov     ah, 10
  65.     mov     dx, tekst
  66.     int     21h    
  67.  
  68. ret
  69.  
  70. konwertowanie:
  71.     mov     si, 2
  72.    
  73. pet1:
  74.     xor     ax, ax
  75.    
  76.     mov     ah, [tekst+si]
  77.    
  78.     cmp     ah, '$'
  79.     je      kon1
  80.    
  81.     cmp     ah, 'A'
  82.     jb      mniejabig
  83.    
  84.     cmp     ah, 'Z'
  85.     ja      wiecejzbig
  86.    
  87.     add     ah, 32
  88.     mov     [tekst+si], ah
  89.    
  90. wroc:
  91.  
  92.     add     si, 1
  93.     jmp     pet1
  94.    
  95. mniejabig:
  96.  
  97.     mov     ah, 32
  98.     mov     [tekst+si], ah
  99.     jmp     wroc
  100.  
  101. wiecejzbig:
  102.  
  103.     cmp     ah, 'a'
  104.     jb      mniejalow
  105.    
  106.     cmp     ah, 'z'
  107.     ja      wiecejzlow
  108.    
  109.     jmp     wroc
  110.    
  111. mniejalow:
  112.  
  113.     mov     ah, 32
  114.     mov     [tekst+si], ah
  115.     jmp     wroc
  116.  
  117. wiecejzlow:
  118.  
  119.     mov     ah, 32
  120.     mov     [tekst+si], ah
  121.     jmp     wroc
  122.    
  123. kon1:
  124.  
  125. ret
  126.  
  127. szyfrowanie:
  128.  
  129.     mov     si, 2
  130.     mov     ch, [szyfrb]
  131.    
  132. pet2:
  133.     mov     ah, [tekst+si]
  134.     cmp     ah, '$'
  135.     je      kon2
  136.    
  137.     cmp     ah, 32
  138.     je      wroc2
  139.    
  140.     add     ah, ch
  141.     cmp     ah, 'z'
  142.     ja      wiecej
  143.    
  144.     mov     [tekst+si], ah
  145.    
  146.     jmp     wroc2
  147.    
  148. wiecej:
  149.     xor     bx, bx
  150.     mov     bh, ah
  151.    
  152.     sub     bh, 'z'
  153.     mov     ah, 96
  154.     add     ah, bh
  155.     mov     [tekst+si], ah
  156.    
  157. wroc2:
  158.    
  159.     add     si, 1
  160.     jmp     pet2
  161.    
  162. kon2:
  163.  
  164. ret
  165.  
  166. kom1    db  "Podaj wartosc szyfru:  $"
  167. kom2    db  "Podaj tresc szyfru:    $"
  168. szyfrb  db  0
  169. tekst   db  26
  170.         db  0
  171.         TIMES 27 db '$'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement