Hocam o nedir ya öyle içinden geçmişsiniz. Şahsen pek çok dil biliyorum ama assembly'ye bulaşmadım hiç.Ö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]
Evet.Akış diyagramının kodunu mu istiyorsun ?
xd yazan birisini gördüğüm zaman çok aciz olduklarını düşünüyorum. Arkadaşın ödevini dilenmeside düşüncemi haklı çıkarıyor gibi duruyor.Tamam. Keşke açmasaydım konuyu xd.
- Bu sorunun nesne yönelimli programlamayla ilgisi yok.
- Ödeviniz olduğu için bunun sizin yapmanız, yapamadığınız veya takıldığınız spesifik yeri sormanız gerekir.
Tamam çok teşekkürler.Yazdığınız kodlara baktığımda ciddi bir temel eksikliğiniz olduğunu görüyorum.
Yazacağınız algoritma şu şekilde olmalı.
Bunu akış diyagramına dönüştürmek hiç bilmeyen bir kişi için bile 15-20 dakikalık iş.
- Basit yaş hesabı: Yaş = Şu anın yılı - kişinin.doğumYılı. (Örnek: 2021 - 1975) Bu değerin pozitif olup olmadığını kontrol etmek isteyebilirsininiz. Gelecekten barış için gönderilen negatif yaşlı insanları üzmek istemeyiz.
- Bu değerin >= 30 olma durumun kontrolü yapılması eğer true ise "30 yaşını geçmişsiniz." yazdırın, değilse "(30 - Yaş) yıl sonra 30 yaşında olacaksınız." yazdırın.
Kodlama kısmında ise temeliniz eksik olduğu için benim yardım etmem size daha da zarar verecektir.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.