Assembly ile yazılmış bir bootloader üzerinde C++ çalıştırmak mümkün mü?

Hobi polarak assembly ile fonksiyonel, bootloader seviyesinde çalışan bir sistem yapıyorum. 16 BIT ile yazılmış bu sistem üzerinde C++ çalıştırmak mümkün mü?

Son düzenleyen: @timucin 2024-10-02T09:07:47Z

1 Like

Merhaba, bu biraz zor. Çünkü bu tür bir ortam gerçek modd çalışır ve bu modda bellek erişimi 1mb ile sınırlıdır ( 20 bit adress alanı nedeniyle ). Yinede isterseniz DJGPP ve Borland Turbo gibi derleyicileri deneyebilirsiniz :slightly_smiling_face:

Anladığım kadarıyla herhangi bir diske kurma gerektirmeden , linux live boot mantığı gibi bir şey yapmak istiyorsunuz. Yoksa 512-2=510 baytlık bir alana yapmak istediğiniz şeyleri sığdırmanız gerekecek ve sıkıntı çıkaracaktır. Eğer 512-2=510 baytlık alana sığdırmak istiyorsanız assembly kullanmanız çok daha mantıklı.

Eğer ilk belirttiğim liveboot mantığını kullanacaksanız. Diğer sektörlerden okuma yapmanız gerekecek. Bunu da kolay bir şekilde yapabilirsiniz.

Oluşan imaj dosyasını gerçek donanımlarda denemek isterseniz rufus gibi dosya yakma uygulamalarını kullanarak bir diskin tamamına yakmak yerine rufus kullanabilirsiniz.

Osdev wiki birçok yazılım dili ve şarta göre eğitici içerikleri bulunuyor. Size kesinlikle öneriyorum.

C++ Osdev sayfası :

https://wiki.osdev.org/C%2B%2B

1 Like

Sektörü arttırıp farklı adresten başlatarak c++ koşturabiliyorum sistem üzerinde. İlham ve kaynak için teşekkürler. Bu arada ana sistem zaten asm birkaç tool yazmak için c++ koşturmam gerekti.

2 Likes