Ödevin assembly kodunu paylaşıyorum.
[CODE title="armut-piş-x86.asm"].LC0:
.string "Lutfen adinizi girin"
.LC1:
.string "%s"
.LC2:
.string "Lutfen yasinizi girin"
.LC3:
.string "%d"
.LC4:
.string "Iyi ki dogdun %s"
.LC5:
.string "30 yasini gecmissiniz"
.LC6:
.string "%d yil sonra 30 yasinda olacaksiniz"
main:
push rbp
mov rbp, rsp
sub rsp, 288
mov DWORD PTR [rbp-276], 0
mov edi, OFFSET FLAT:.LC0
mov eax, 0
call printf
lea rax, [rbp-272]
mov rsi, rax
mov edi, OFFSET FLAT:.LC1
mov eax, 0
call __isoc99_scanf
mov edi, OFFSET FLAT:.LC2
mov eax, 0
call printf
lea rax, [rbp-276]
mov rsi, rax
mov edi, OFFSET FLAT:.LC3
mov eax, 0
call __isoc99_scanf
lea rax, [rbp-272]
mov rsi, rax
mov edi, OFFSET FLAT:.LC4
mov eax, 0
call printf
mov eax, DWORD PTR [rbp-276]
cmp eax, 29
jle .L2
mov edi, OFFSET FLAT:.LC5
mov eax, 0
call printf
jmp .L3
.L2:
mov edx, DWORD PTR [rbp-276]
mov eax, 30
sub eax, edx
mov DWORD PTR [rbp-4], eax
mov edi, OFFSET FLAT:.LC6
mov eax, 0
call printf
.L3:
mov eax, 0
leave
ret[/CODE]