2010-11-05 3 views
4

Привет, я пытаюсь использовать случайный целочисленный диапазон, а значения, которые я получаю, не соответствуют тем, которые я установил.MIPS assembly - случайный целочисленный диапазон

, например:

sw $a0, 0($s0) 
li $a0, 1000 
li $a1, 3500 
li $v0, 42 #random 

Так что я просто хочу, чтобы случайные числа в диапазоне от 1000-3500, но это дает мне любое случайное число.

Не могли бы вы помочь мне понять, где моя ошибка.

ответ

7

$a0 - случайное семя, а не нижняя граница. Вы должны установить $a1 в 2501, чтобы сгенерировать 0-2500 случайных чисел, и добавить 1000 к результату.

sw $a0, 0($s0) 
li $a1, 2501 
li $v0, 42 #random 
add $a0, $a0, 1000 
+0

btw, syscall '42' может быть недоступен на вашем симуляторе. проверьте его руководство. –

Смежные вопросы