2010-11-22 2 views
2

일부 MIPS 어셈블리 코드에서 작업 중이며 런타임 중에 메모리를 할당하는 방법을 잘 모르겠습니다. 지금까지 스택이나 데이터 세그먼트를 사용하여 필요한 것을 저장할 수 있었지만, 뭔가 더 영구적으로 원한다면 어떻게해야합니까? 구체적으로 할당 할 때 선택할 메모리 주소를 어떻게 알 수 있습니까? 스택에 겹쳐 쓰지 않는다는 것을 어떻게 알 수 있습니까 (예 : 스택 또는 프로그램 지침)? 0x0000에서 시작할 수 있지만 그 블록에 무엇이 있는지 전혀 모릅니다.어셈블리 런타임 메모리 할당

나는 Assembly memory allocation을 읽었지만이 질문에 대답하지 않는 것 같습니다.

감사합니다,

오후

편집 : 내가 잘못된 용어를 사용했다고 생각 : 지속적으로 나는이 달려 C.

+0

어떤 OS를 코딩하고 있습니까? 베어 하드웨어에서하고 있습니까? –

+0

시뮬레이터 SPIM을 사용하고 있습니다. – user472875

답변

0

에서의 malloc()의 라인을 따라 뭔가를 언급했다 아키텍처 (컨트롤러/CPU)의 메모리 레이아웃

스핌을 사용할 때 spim memory layout을 찾으십시오.

그러나 이것은 영속성을주지는 않지만, 스핌에는 내장 플래시 메모리가 없다고 생각합니다.