.LC0:
.string "Podaj litere: "
.LC1:
.string " %c" ;mozna dac %d dla wyników w ascii
main:
push rbp
mov rbp, rsp
sub rsp, 16
mov edi, OFFSET FLAT:.LC0
mov eax, 0
call printf ; zrzut na stdout
lea rax, [rbp-1]
mov rsi, rax
mov edi, OFFSET FLAT:.LC1
mov eax, 0
call __isoc99_scanf ;odczyt stdin
movzx eax, BYTE PTR [rbp-1]
cmp al, 96 ; sprawdzamy czy mniejsze
jg .L2
movzx eax, BYTE PTR [rbp-1]
movsx eax, al
add eax, 32 ;dodajemy 32 aby uzykać małą litere
mov edi, eax
call putchar
.L2:
movzx eax, BYTE PTR [rbp-1]
cmp al, 90 ; sprawdzamy czy wieksze
jle .L3
movzx eax, BYTE PTR [rbp-1]
movsx eax, al
sub eax, 32 ; to samo co w lini 22 tylko odejmujemy
mov edi, eax
call putchar
.L3:
mov eax, 0
leave
ret