Mips 继续尝试在0x00400098执行非指令 .data 分数:单词849992455546786779 数组化:。单词9 提示1:.asciiz“请输入及格分数(介于0和100之间):” 提示2:“通过本课程的学生人数为:” .文本 主要内容: 李$v0,4

Mips 继续尝试在0x00400098执行非指令 .data 分数:单词849992455546786779 数组化:。单词9 提示1:.asciiz“请输入及格分数(介于0和100之间):” 提示2:“通过本课程的学生人数为:” .文本 主要内容: 李$v0,4,mips,qtspim,Mips,Qtspim,继续尝试在0x00400098执行非指令 .data 分数:单词849992455546786779 数组化:。单词9 提示1:.asciiz“请输入及格分数(介于0和100之间):” 提示2:“通过本课程的学生人数为:” .文本 主要内容: 李$v0,4 la$a0,提示1#将打印提示 系统调用 李$v0,5 系统调用#询问用户输入 移动$s2,$v0#移动到s2 la$s0,分数#获取用户地址 lw$s1,阵列大小#获取阵列大小 李$t7,0#商店通过计数 李$t0,0 循环: mul$t1

继续尝试在0x00400098执行非指令
.data
分数:单词849992455546786779
数组化:。单词9
提示1:.asciiz“请输入及格分数(介于0和100之间):”
提示2:“通过本课程的学生人数为:”
.文本
主要内容:
李$v0,4
la$a0,提示1#将打印提示
系统调用
李$v0,5
系统调用#询问用户输入
移动$s2,$v0#移动到s2
la$s0,分数#获取用户地址
lw$s1,阵列大小#获取阵列大小
李$t7,0#商店通过计数
李$t0,0
循环:
mul$t1,$t0,4
添加$t1、$t1、$s0
lw$t1,($t1)
blt$t1、$s2、skipCount
添加$t7、$t7,1#将计数增加1
skipCount:
加上$t0,$t0,1

blt$t0,$s1,循环#循环直到I在最后的
syscall
之后,您希望发生什么?您没有停止进一步的执行,但在该点之后没有要执行的代码。如何终止程序?系统调用10在所有常见的MIPS模拟器中都有效。
.data
scores : .word 84 99 92 45 55 46 78 67 79
arraySize : .word 9
prompt1: .asciiz "Pleaes input a passing score(between 0 and 100) : "
prompt2: .asciiz "The number of students who passed this course is : "
.text

main:
li $v0,4
la $a0,prompt1 #it will print prompt
syscall
li $v0,5
syscall #ask user input
move $s2,$v0 #move to s2
la $s0,scores #get user address
lw $s1,arraySize #get array size

li $t7,0 #store passed count

li $t0,0
loop:
mul $t1,$t0,4
add $t1,$t1,$s0
lw $t1,($t1)
blt $t1,$s2,skipCount
add $t7,$t7,1 #increase count by one
skipCount:
add $t0,$t0,1
blt $t0,$s1,loop #loop until i<size


li $v0,4
la $a0,prompt2 #it will print prompt
syscall
li $v0,1
move $a0,$t7
syscall