Как вы распределяете массив так, чтобы он начинался в определенном месте в памяти? - PullRequest
1 голос
/ 13 октября 2009

Как вы распределяете массив так, чтобы он начинался в определенном месте в памяти? Например

    .data
array: 
    .space 400

сделает массив из 100 слов, но я бы хотел, чтобы массив начинался, например, с 5000 в памяти. Как я могу это сделать? (Я помню, в Intel ASM это было действительно легко)

edit: я использую spim в linux. Кстати, это действительно имеет значение?

1 Ответ

0 голосов
/ 13 октября 2009

Какой ассемблер вы используете, имеет значение, потому что запрашиваемый синтаксис не является частью набора команд MIPS, это директивы ассемблера и, следовательно, специфичные для ассемблера.

Из документации SPIM :

.data : последующие элементы сохраняются в сегменте данных. Если присутствует необязательный аргумент addr, последующие элементы сохраняются, начиная с адреса addr.

.space n Выделите n байтов пространства в текущем сегменте (который должен быть сегментом данных в SPIM).

Таким образом,

    .data 5000
array: 
    .space 400

должен делать то, что вы хотите.

...