我正在尝试从基于 MIPS 中的 RNG 输出的字符串数组中为我的程序集类中的项目加载随机字符串 - 我遇到了非常困难的时间。输出没有意义。处理此问题的代码部分如下:
SEED:
li $v0 30 #get time syscall
syscall
move $a1 $a0
li $a0 1
li $v0 40 #seed RND syscall - a0 RNG ID, a1 Time
syscall
RNG:
li $a1 10 #upper bound java.util.Random rnd.nexInt(n)
li $v0 42 #get RND syscall - a0 RNG ID, a1 range -> a0 has #
syscall
li $t1 5
mult $a0 $t1
mflo $s1
LOADWORD:
la $s2 bank
add $s2 $s2 $s1 #shift wordbank based on rng
la $s3 word
lb $t0 0($s2) #1st letter
sb $t1 0($s3)
lb $t1 1($s2) #2nd letter
sb $t1 1($s3)
lb $t2 2($s2) #3rd letter
sb $t1 2($s3)
lb $t3 3($s2) #4th letter
lb $t3 3($s3)
lb $t4 4($s2) #5th letter
lb $t4 4($s3)
move $a0 $s3
li $v0 4
syscall
我相信我遇到的问题必须处理基于 RNG 的标签#shift wordbank。谁能帮我这个?我目前只使用一个大字符串,如“HELLOCHAIRWORDSCOUCH ...”,并试图从中加载一个五个字符的字符串 - 有没有更好的方法来做到这一点?谢谢。