Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- section .text
- org 100h
- start:
- call procedura_wprowadzznak
- cmp al, 13 ;do 23. linijki sprawdzam czy podany znak jest litera
- je pre_wypisz
- cmp al, 64
- jbe skok_blad
- cmp al, 122
- jae skok_blad
- cmp al, 97
- jae wszystko_okej
- cmp al, 90
- jbe wszystko_okej
- ja skok_blad
- wszystko_okej:
- push ax
- jmp start
- pre_wypisz: ;przygotowuje tutaj rejestr cx, ktorego uzywam do iteracji
- mov ax, 2
- mul cx
- mov cx, ax
- wypisz:
- cmp cx, 0
- je koniec
- sub cx, 2
- mov dx, [esp + ecx]
- cmp dx, 91
- jb z_malej_na_duza
- ja z_duzej_na_mala
- z_duzej_na_mala:
- add dx, 32
- mov ah, 02h
- int 21h
- jmp wypisz
- z_malej_na_duza: ;tu jest blad, ale nie wiem czemu. skoro mala litera 'a' ma kod 97, a duża 65, to chyba muszę odjąć 32? zamiast tego pokazuje mi ü
- sub dx, 32
- mov ah, 02h
- int 21h
- jmp wypisz
- procedura_wprowadzznak:
- mov ah, 01h
- int 21h
- inc cx
- ret
- skok_blad:
- mov dx, v_blad
- mov ah, 02h
- int 21h
- wyczysc_stos:
- pop ax
- cmp ax, 0
- jne wyczysc_stos
- xor ax, ax
- jmp start
- koniec:
- mov ax, 4c00h
- int 21h
- section .data
- v_blad db 10, "niestety to jest blad $", 10
Advertisement
Add Comment
Please, Sign In to add comment