2010-11-22 4 views
2

Je travaille sur un code d'assemblage MIPS et je ne sais pas comment allouer de la mémoire pendant l'exécution. Jusqu'à présent, j'ai utilisé la pile ou le segment de données pour stocker tout ce dont j'ai besoin, mais si je veux quelque chose de plus persistant? Pour être précis, comment savoir quelle adresse mémoire choisir lors de l'allocation? Comment puis-je savoir que je n'écrase pas quelque chose (par exemple: la pile ou les instructions du programme)? Je peux commencer à 0x0000 mais je n'ai aucune idée de ce qu'il y a dans ce bloc. J'ai lu Assembly memory allocation, mais il ne semble pas avoir répondu à cette question.Allocation de mémoire d'exécution d'assemblage

Merci,

PM

EDIT: Je pense que je l'ai utilisé le mauvais terme: par la persistance dont je parlais en C.

+0

Pour quel système d'exploitation voulez-vous coder? Le faites-vous sur du matériel nu? –

+0

J'utilise un simulateur, SPIM. – user472875

Répondre

0

à quelque chose le long des lignes de malloc() Cela dépend sur la disposition de la mémoire de votre architecture (Controller/CPU). Comme vous utilisez spim, recherchez spim memory layout. Cela ne vous donnera cependant aucune persistance, je ne pense pas que spim ait une mémoire flash intégrée.