Как сохранить строку в переменную в сборке? - PullRequest
0 голосов
/ 03 мая 2018

Я имею в виду, если я могу сохранить его в разделе данных, как здесь:

.data
    str:    .asciiz    "abc"
.text
    li $v0, 4
    la $a0, str
    syscall

Как можно поместить строку "abc" в переменную str или переопределить ее другой строкой в ​​текстовом разделе?

1 Ответ

0 голосов
/ 03 мая 2018

О добавлении строки «abc» в переменную str. На самом деле переменная str является адресом первого индекса строки, поэтому она уже содержит строку abc.

О перезаписать его другой строкой. Сначала новый размер строки должен быть таким же или меньшим, чем исходный. Затем, поскольку я не знаю, какую сборку ведьмы вы используете, я просто объясню, с кем она будет работать:

Вам потребуется получить значение str (адрес строки), а затем переместить символ за символом в пространство памяти str .

Это происходит потому, что str на самом деле не является переменной, это фактически метка, псевдоним для некоторого адреса памяти. Таким образом, вы не можете указать на другую строку.

...