【发布时间】:2014-10-05 00:32:36
【问题描述】:
我有一个字符串数组,我想将它们打印出来。这是我目前拥有的:
data: .asciiz "foo", "bar", "hello", "elephant"...(16 of these strings)
size: .word 16
move $s0, $zero # i = 0
la $s1, data # load array
la $s2, size #load size
print_array:
bge $s0, $s2, exit # i >= size -> exit
la $a0, 0($s1) #load the string into a0
li $v0, 4 #print string
syscall
addi $s0, $s0, 1 # i++
addi $s1, $s1, 4
j print_array
exit:
jr $ra
我知道这行不通,因为 li $v0, 4 仅用于打印字符串。我不知道接下来该做什么......
【问题讨论】:
-
这不是字符串数组,而是一个长字符串。您还没有在任何地方记录单独单词的起始地址。
标签: arrays assembly printing mips