Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .686
- .model flat
- extern _ExitProcess@4 : PROC
- extern __write : PROC
- extern __read : PROC
- public _main
- .data
- tekst_pocz db 10, 'Prosz',0A9h,' napisa',86h,' jaki',98h,' tekst '
- db 'i nacisn',0A5h,86h,' Enter', 10
- koniec_t db ?
- magazyn db 80 dup (?)
- nowa_linia db 10
- liczba_znakow dd ?
- .code
- _main:
- mov ecx, (OFFSET koniec_t) - (OFFSET tekst_pocz)
- push ecx
- push OFFSET tekst_pocz
- push 1
- call __write
- add esp, 12
- push 80
- push OFFSET magazyn
- push 0
- call __read
- add esp, 12
- mov liczba_znakow, eax
- mov ecx, eax
- mov ebx, 0
- ptl: mov dl, magazyn[ebx]
- mov eax, 0
- cmp dl, 'a'
- jb dalej ; skok, gdy znak nie wymaga zamiany
- cmp dl, 'z'
- ja dalej ; skok, gdy znak nie wymaga zamiany
- cmp dl, 'a'
- jne kont1
- add dl, 1Ah
- kont1: cmp dl, 'b'
- jne kont2
- add dl, 1Ah
- kont2: cmp dl, 'c'
- jne kont3
- add dl, 1Ah
- kont3: cmp dl, 'd'
- jne kont4
- add dl, 1Ah
- kont4: cmp dl, 'e'
- jne kont5
- add dl, 1Ah
- kont5: sub dl, 05H ; zamiana na wielkie litery innych liter
- mov magazyn[ebx], dl ; odesłanie znaku do pamięci
- jmp dalej
- dalej: mov magazyn[ebx], dl
- inc ebx
- dec ecx
- jnz ptl
- push liczba_znakow
- push OFFSET magazyn
- push 1
- call __write
- add esp, 12
- push 0
- call _ExitProcess@4
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement