Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org 100h
- start:
- call pobierztekst
- call newline
- call szyfr
- call newline
- call konwertowanie
- call wyswietl
- call newline
- call szyfrowanie
- call wyswietl
- koniec:
- mov ax, 4C00h
- int 21h
- wyswietl:
- mov ah, 9
- mov dx, tekst+2
- int 21h
- ret
- szyfr:
- xor ax, ax
- mov ah, 9
- mov dx, kom1
- int 21h
- mov ah, 10
- mov dx, szyfrd
- int 21h
- mov cl, 0
- mov si, 2
- pet3:
- xor ax, ax
- mov ah, [szyfrd+si]
- cmp ah, '$'
- je kon3
- add cl, 1
- add si, 1
- jmp pet3
- kon3:
- mov si, 2
- xor ax, ax
- mov dl, 0
- pet4:
- cmp cl, 0
- je kon4
- mov al, 10
- mul cl
- mov bl, al
- mov al, [szyfr+si]
- sub al, '0'
- mul bl
- add dl, bl
- sub cl, 1
- add si, 1
- jmp pet4
- kon4:
- mov al, [szyfr+si]
- sub al, '0'
- add dl, al
- mov [szyfrb], dl
- ret
- newline:
- mov ah, 2
- mov dl, 10
- int 21h
- mov dl, 13
- int 21h
- ret
- pobierztekst:
- xor ax, ax
- mov ah, 9
- mov dx, kom2
- int 21h
- xor dx, dx
- mov ah, 10
- mov dx, tekst
- int 21h
- ret
- konwertowanie:
- mov si, 2
- pet1:
- xor ax, ax
- mov ah, [tekst+si]
- cmp ah, '$'
- je kon1
- cmp ah, 'A'
- jb mniejabig
- cmp ah, 'Z'
- ja wiecejzbig
- add ah, 32
- mov [tekst+si], ah
- wroc:
- add si, 1
- jmp pet1
- mniejabig:
- mov ah, 32
- mov [tekst+si], ah
- jmp wroc
- wiecejzbig:
- cmp ah, 'a'
- jb mniejalow
- cmp ah, 'z'
- ja wiecejzlow
- jmp wroc
- mniejalow:
- mov ah, 32
- mov [tekst+si], ah
- jmp wroc
- wiecejzlow:
- mov ah, 32
- mov [tekst+si], ah
- jmp wroc
- kon1:
- ret
- szyfrowanie:
- mov si, 2
- mov cl, [szyfrb]
- xor dx, dx
- xor ch, ch
- mov ax, cx
- mov dl, 'z'
- sub dl, 'a'
- div dl
- mov ch, ah
- pet2:
- mov ah, [tekst+si]
- cmp ah, '$'
- je kon2
- cmp ah, 32
- je wroc2
- add ah, ch
- cmp ah, 'z'
- ja wiecej
- mov [tekst+si], ah
- jmp wroc2
- wiecej:
- xor bx, bx
- mov bh, ah
- sub bh, 'z'
- mov ah, 96
- add ah, bh
- mov [tekst+si], ah
- wroc2:
- add si, 1
- jmp pet2
- kon2:
- ret
- kom1 db "Podaj wartosc szyfru: $"
- kom2 db "Podaj tresc szyfru: $"
- szyfrd db 6
- db 0
- TIMES 7 db '$'
- szyfrb db 0
- tekst db 26
- db 0
- TIMES 27 db '$'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement