我正在尝试使用Mars自学MIPS体系结构的汇编,并想知道如何将一系列单词存储到数组中。
我知道如果我有4个单词,我会分配16个字节,如下所示:
.data
X: .space 16
我再讲几句话:
.data
X: .space 16
Ryan: .asciiz "Ryan"
Tammi: .asciiz "Tammi"
Mike: .asciiz "Mike"
Jessica: .asciiz "Jessica"
现在,如果我想把X[0]赋给Ryan,X[1]赋给Tammi,等等,我是不是先把数组地址加载到$a0,然后把字加载到临时寄存器?我不太清楚如何把值赋给它们各自的索引,然后把值打印到控制台。
2条答案
按热度按时间xxe27gdn1#
如果你不需要在运行时做这件事,你当然可以直接用指针初始化你的数组:
否则,您必须在运行时手动执行赋值,例如:
随后可以使用循环打印它们。
gg58donl2#
喜欢这个解决方案,对我来说我用了第一个解决方案,只是想添加如何打印它:
基本上,只对array_cidades($t0)处的$t7寄存器使用了lw,并使用了基本的打印字符串调用