Oyuncak Makine’de (Toy Machine) Faktöriyel Hesaplama Kodları

Kodlama admin 657 Okundu

Merhaba, bu yazımda Ondokuz Mayıs Üniversitesi Bilgisayar Mühendisliği öğretim üyelerinden Yrd. Doç. Dr. Recai Oktaş hocamızın geliştirdiği Oyuncak Makine’den bahsedicem. Oyuncak Makine 14 buyruk dan oluşan ama bu 14 kodla döngü kurmanın ve program yazmanın epey zevkli olduğu, RISC Mimarisine ve Assembly’e benzer kod yapısı olan bir benzetim (simülasyon) programı.

http://toy.ecylmz.com adresinden ulaşabilirsiniz. 14 buyruk ise şöyle;

Sözdizimi yardımı

    get       klavyeden okunan girdiyi akümülatöre kaydet
    print     akümülatör içeriğini görüntüle
    load Val  akümülatöre Val değerini yükle
    store M   akümülatör içeriğini M bellek adresine kaydet
    add Val   akümülatör içeriğiyle Val değerini topla (sonuç akümülatörde)
    mod Val   akümülatör içeriğiyle Val değerini modülüsünü al (sonuç akümülatörde)
    sub Val   akümülatör içeriğinden Val değerini çıkar (sonuç akümülatörde)
    mul Val   akümülatör içeriğiyle Val değerini çarp (sonuç akümülatörde)
    div Val   akümülatör içeriğiyle Val değerini böler (sonuç akümülatörde)
    goto L    L etiketli satıra git
    ifpos L   eğer akümülatör içeriği >= 0 ise L etiketli satıra git
    ifzero L  eğer akümülatör içeriği 0 ise L etiketli satıra git
    ifneg L   eğe akümülatör içeriği < 0 ise L etiketli satıra git
    stop      dur
    M Num  M isimli bellek hücresini Num değeriyle ilklendir (program çalışmaya başlamadan önce)

Bu eğlenceli oyuncak'la geçen sene İşletim Sistemleri dersinde çok fazla haşır neşir olmuştum :) bugün de programın genel yapısını anlamanız için faktöriyel hesabı yapan basit bir betik yazdım. 

basla get
 ifneg basla
don store tampon
 mul carpim
 store carpim
 load tampon
 sub 1
 ifzero bitti
 goto don
bitti load carpim
 print
carpim 1
tampon 0

Site adresinden programı çalıştırabilir veya kodlamayı daha iyi anlayabilmek için çalışmasını adım adım görebilirsiniz. Yüksek seviyeli programa dillerinde olan basit döngülerden ziyade Oyuncak Makine ile hem daha fazla düşünüp, hem de kısa buyruklu ve hızlı çalışan RISC mimarisi işlemcilerin çalışma prensibini daha iyi anlayabilirsiniz.

Kolay gelsin :)

Sosyal Ağlarda Paylaş

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir