2010-11-22 35 views
2

Bazı MIPS derleme kodu üzerinde çalışıyorum ve çalışma zamanı sırasında belleği nasıl ayıracağım konusunda emin değilim. Şimdiye kadar, ihtiyacım olan her şeyi depolamak için yığın ya da veri segmentini kullanıyorum, ama eğer daha kalıcı bir şey istiyorsam? Spesifik olmak için, tahsis ederken hangi hafıza adresinin seçileceğini nasıl bilebilirim? Bir şeyin üzerine yazmadığımı nasıl bileceğim (örneğin, yığın veya program talimatları)? 0x0000'dan başlayabilirim ama o blokta ne olduğu hakkında hiçbir fikrim yok.Montaj çalışma zamanı bellek ayırma

Assembly memory allocation okudum, ancak bu soruyu yanıtlamıyor gibi görünüyor.

sayesinde

PM

DÜZENLEME: Ben yanlış bir terim kullanmış olabilir düşünüyorum: inatçı tarafından ben bu bağlıdır C

+0

Hangi işletim sistemini kodlarsınız? Bunu çıplak donanımda mı yapıyorsun? –

+0

Bir simülatör SPIM kullanıyorum. – user472875

cevap

0

malloc'un() çizgisinde bir şey atıfta bulundu Mimarinizin bellek düzeninde (Denetleyici/CPU).

Spim'i kullanırken spim memory layout ürününü arayın.

Bu size herhangi bir sebat vermeyecektir, spim'in dahili flash belleğe sahip olduğunu sanmıyorum.