Eski netbook üzerinde JonesForth projesini NASM ile x86 meclis diline uyarlıyor
Öne çıkanlar
- 2007 model Asus eeePC 701 üzerinde çalışan Alpine Linux ortamında x86 assembly geliştiriliyor.
- GAS sözdizimiyle yazılmış JonesForth projesi, NASM için yeniden derlenebilir hale getiriliyor.
- Geliştirme sürecinde grafik arayüz yerine Vim, GDB ve GNU Screen araçları kullanılıyor.
Bir yazılımcı, 2007 model Asus eeePC 701 minyatür dizüstü bilgisayarını kullanarak Richard WM Jones tarafından geliştirilen JonesForth kodlarını x86 assembly ortamına taşıyor. Alpine Linux işletim sistemiyle çalışan 32 bit Celeron işlemcili cihaz, modern web tarayıcılarından uzak yapısıyla dikkat dağıtmayan bir geliştirme alanı sağlıyor. Sistem seviyesinde programlamaya ve bilgisayar mimarisine duyduğu ilgi nedeniyle bu projeye başlayan geliştirici, süreci geceleri sürdürdüğü rutin bir öğrenme deneyimi olarak kurguladı.
JonesForth projesinin orijinali GNU Assembler (GAS) sözdizimiyle yazıldığı için geliştirici, kodları Intel sözdizimini benimseyen NASM yapısına uyarlarken ciddi zorluklar yaşadı. Makine komutlarının ve veri boyutu tanımlarının farklılık göstermesi sebebiyle temel makroların dönüştürülmesi haftalar sürdü. Geliştirici, projeyi hızlı tamamlama baskısından uzaklaşarak GNU Screen ve GDB hata ayıklayıcısı yardımıyla her bir komutu adım adım inceledi ve bu süreçleri günlük kayıtları haline getirdi.
Çalışma, yüksek seviyeli dillerden farklı olarak işlemci mimarisinin, yığın işlemlerinin ve sistem çağrılarının temel mantığını kavramayı hedefliyor. Geliştirici, asmtutor üzerindeki derslerle başladığı bu sürecin ardından JonesForth uyarlamasını nasmjf adıyla açık kaynak olarak paylaştı. Taşınabilir x86 uyarlamasının tamamlanmasının ardından hedefin Forth dilinin derinliklerine odaklanmak olduğu kaydedildi.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.