⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example.s

📁 在 线测试计算机组成原理的成绩
💻 S
字号:
.data
psword:	.word 123456
load:	.asciiz "欢迎使用<<计算机组成及系统结构>>在线测试系统!
*************************************************************************
                     欢迎使用汕头列车时刻表在线查询系统
                                                                              
*************************************************************************
请输入考试密码:"
loginw:	.asciiz "考试密码错误,请重新输入:"
loginq: .asciiz "你输入错误密码已达三次,现在退出系统..."
loginr: .asciiz "
考试密码正确,现在开始答题...
"
logout: .asciiz "

谢谢你使用本系统..再见!"
q1:	.asciiz "
(1)从用户观点看,评价计算机系统性能的综合参数是__:
1. 指令系统	2. 吞吐率	3. 主存容量	4. 主频率
你的答案是:"
q2:	.asciiz "
(2)存储单元是指__:
1. 存放一个二进制信息位的存储元	
2. 存放一个机器字的所有存储元集合	
3. 存放一个字节的所有存储元集合	
4. 存放两个字节的所有存储元集合
你的答案是:"
q3:	.asciiz "
(3)某计算机字长16位,它的存储容量64KB,若按字编址,那么它的
   寻址范围是__:
1. 64K	2. 32K	3. 64KB	4. 32KB
你的答案是:"
q4:	.asciiz "
(4)某SRAM芯片,其存储容量为64K*16位,该芯片的地址线和数据线
   数目为__:
1. 64,16	2. 16,16	3. 16,64	4. 64,8
你的答案是:"


finish1: .asciiz "
所有题目已经回答完毕,你的分数是:"
finish2: .asciiz "分.
"
mark1:   .asciiz "恭喜,你获得优秀!"
mark2:   .asciiz "你的成绩是良好!"
mark3:   .asciiz "你的成绩是及格!"
mark4:   .asciiz "很抱歉,你未能通过测试!"

.text
.globl __start
__start:

  #设置考试密码
li $t5,222222
li $t6,555555
li $t1,123456 
li $t2,0	#计算密码输入错误次数
li $a3,0  	#总分数置0
#打印"请输入考试密码"
la $a0,load
li $v0,4
syscall
j getps

#密码不正确,退出
end:	la $a0,loginq
	li $v0,4
	syscall
	li $v0,10
	syscall


#输出错误信息
pww:	bge $t2,2,end
	la $a0,loginw
	li $v0,4
	syscall
	add $t2,$t2,1 #若$T2大于3则退出
	

#取输入值存入$s0
getps: li $v0,5
	syscall
	add $s0,$zero,$v0
    

#若密码错误,输出错误信息
beq $s0,$t5,begin
ppp:
add $s0,$zero,$v0
bne $s0,$t6,pww



#开始答题
begin:	la $a0,loginr
	li $v0,4
	syscall

	la $a0,q1	#显示题目
	li $v0,4
	syscall

#取得回答
	li $v0,5
	syscall

	add $s0,$zero,$v0

#若回答错误,转q2,否则分数加10
	bne $s0,2,qs2	#答案为2
	add $a3,10

qs2:	la $a0,q2	#显示题目
	li $v0,4
	syscall
	li $v0,5
	syscall
	add $s0,$zero,$v0
	bne $s0,2,qs3	#答案为2
	add $a3,20

qs3:	la $a0,q3	#显示题目
	li $v0,4
	syscall
	li $v0,5
	syscall
	add $s0,$zero,$v0
	bne $s0,2,qs4	#答案为2
	add $a3,30

qs4:	la $a0,q4	#显示题目
	li $v0,4
	syscall
	li $v0,5
	syscall
	add $s0,$zero,$v0
	bne $s0,2,score	#答案为2
	add $a3,40

#显示分数	
score:	la $a0,finish1
	li $v0,4
	syscall
	add $a0, $zero, $a3
  	li $v0, 1
  	syscall
	la $a0,finish2
	li $v0,4
	syscall

	bge $a3,90,excellence
	bge $a3,80,good
	bge $a3,60,pass
	ble $a3,60,fail

excellence:
	la $a0,mark1
	li $v0,4
	syscall
	beqz $0,end2
good:	la $a0,mark2
	li $v0,4
	syscall
	beqz $0,end2
pass:	la $a0,mark3
	li $v0,4
	syscall
	beqz $0,end2
fail:	la $a0,mark4
	li $v0,4
	syscall
	beqz $0,end2
end2:	la $a0,logout
	li $v0,4
	syscall
	li $v0,10
	syscall

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -