MIPS asm эквивалент x86 dup - PullRequest
0 голосов
/ 05 мая 2011

Как мне предварительно выделить И заполнить массив постоянным значением?

Например, на платформе x86:

foo dd 10 dup(7)

ассемблер создаст статический массив из 10 32-битных чисел, каждый из которых равен 7.

1 Ответ

2 голосов
/ 05 мая 2011

Это директива ассемблера. Вы должны сказать нам, какой ассемблер вы используете, чтобы увидеть, предоставляет ли он аналогичную директиву. В SPIM (также в MARS) вам придется использовать директиву .word n ​​раз. Что-то вроде:

.word 7
.word 7
.word 7
.word 7
.word 7
.word 7
.word 7
.word 7
.word 7
.word 7

Также проверьте ссылку SPIM , чтобы увидеть другие подобные директивы.

С GAS вы также можете использовать директивы .rept и .end, чтобы повторить блок данных. Что-то вроде:

.rept 10
.word 7
.endr
...