Я действительно борюсь с mips, кажется, я прочитал несколько руководств о том, как создавать массивы и получать к ним доступ, но всякий раз, когда я пытаюсь выполнить перечисленные методы, моя программа ничего не делает.Попытка создания и печати элементов из массива в MIPS
В настоящее время у меня есть этот код:
.data
array: .word 1:32 # array of 32 integers
line: .asciiz "\n"
main:
li $t0, 0 # $t0 is the loop induction variable
li $t1, 32 # $t1 is the sentinal value for the loop
la $t2, array # $9 starts as the base address of the array
# and is the address of each element
li $t3, 1 # $12 is the value 18, to be put in desired element
for:
bge $t0, $t1, end_for
sw $t3, ($t2)
li $v0, 4
la $a0, line
syscall
li $v0, 1
move $a0, t3
syscall
add $t2, $t2, 4 # get address of next array element
add $t0, $0, 1 # increment loop induction variable
b valfor
valfor:
addi $t3, $t3, 1
b for
end_for:
li $v0, 10
syscall
При попытке запуска этого, мой код немедленно заканчивает. Он не перечисляет никаких ошибок или ничего смешного, он просто говорит -- program is finished running (dropped off bottom) --
Если кто-то может указать мне в правильном направлении, создавая, получая доступ и печатая массив целых чисел, я был бы признателен за огромную сумму.
сайты я думал, что я интерпретировал точно придумать мой код: http://pages.cs.wisc.edu/~cs354-2/onyourown/arrays.html http://courses.cs.vt.edu/~cs2505/fall2010/Notes/pdf/T23.MIPSArrays.pdf
Я обязательно посмотрю на это! Я думал, что это правильно составлено, я использовал MARS на Ubuntu, и он никогда не рассказывал мне эти маленькие детали. Еще раз спасибо! – CtRan