Я новый пользователь MIPS, и у меня возникают проблемы с печатью массива чисел с плавающей запятой, которые я получаю от пользователя, а также у меня возникают проблемы с поиском наиболее повторяющегося числа с плавающей запятой.
Вот код, в котором я могу принимать пользовательский ввод, но не могу печатать массив.
#data declarations: declare variable names used in program, storage allocated in RAM
.data
max: .word 12
temp: .word 1
num: .space 96
input1: .asciiz "Enter a number:\n" #prints the statement
output1: .asciiz "The number that is repeated more often than any other is "
output2: .asciiz " with "
output3: .asciiz " repititions.\n"
output4: .asciiz "The array contains the following: \n"
.text
.globl main
main:
lw $t1, temp
lw $t2, max
Loop:
la $a0, input1 # $a0 = address of input1
li $v0, 4 # $v0 = 4 --- this is to call print_string()
syscall
li $v0, 6
syscall
la $t0, num
s.s $f0, 0($t0)
addi $t0, $t0, 8
addi $t1, $t1, 1
ble $t1, $t2, Loop
la $a0, output4
li $v0, 4
syscall
l.s $f12, 0($t0)
li $v0, 2
syscall
jr $ra
temp
иmax
— это неинициализированная память, поэтому при загрузке содержимого этой памяти в$t1
и$t2
результаты могут быть случайными. Что ты пытаешься сделать? Кроме того, это не похоже на функцию, которую вы вызываете откуда-то еще, так почему же она заканчивается наjr $ra
вместо системного вызова 10 (конец программы)? - person RobertB   schedule 05.12.2013$f12
. Выполните системный вызов 2, чтобы напечатать его. Повторение. - person Michael   schedule 05.12.2013