#用补齐'\0'的方法保证每个单词的开头线性排列
#单词最长八位,所以补到九位;数字全部补到8位
.data
uppercase:
.ascii
"Alpha\0\0\0\0"
"Bravo\0\0\0\0"
"China\0\0\0\0"
"Delta\0\0\0\0"
"Echo\0\0\0\0\0"
"Foxtrot\0\0"
"Golf\0\0\0\0\0"
"Hotel\0\0\0\0"
"India\0\0\0\0"
"Juliet\0\0\0"
"Kilo\0\0\0\0\0"
"Lima\0\0\0\0\0"
"Mary\0\0\0\0\0"
"November\0"
"Oscar\0\0\0\0"
"Paper\0\0\0\0"
"Quebec\0\0\0"
"Research\0"
"Sierra\0\0\0"
"Tango\0\0\0\0"
"Uniform\0\0"
"Victor\0\0\0"
"Whisky\0\0\0"
"X-ray\0\0\0\0"
"Yankee\0\0\0"
"Zulu\0\0\0\0\0"
lowercase:
.ascii
"alpha\0\0\0\0"
"bravo\0\0\0\0"
"china\0\0\0\0"
"delta\0\0\0\0"
"echo\0\0\0\0\0"
"foxtrot\0\0"
"golf\0\0\0\0\0"
"hotel\0\0\0\0"
"india\0\0\0\0"
"juliet\0\0\0"
"kilo\0\0\0\0\0"
"lima\0\0\0\0\0"
"mary\0\0\0\0\0"
"november\0"
"oscar\0\0\0\0"
"paper\0\0\0\0"
"quebec\0\0\0"
"research\0"
"sierra\0\0\0"
"tango\0\0\0\0"
"uniform\0\0"
"victor\0\0\0"
"whisky\0\0\0"
"x-ray\0\0\0\0"
"yankee\0\0\0"
"zulu\0\0\0\0\0"
numbers:
.ascii
"zero\0\0\0\0"
"First\0\0\0"
"Second\0\0"
"Third\0\0\0"
"Fourth\0\0"
"Fifth\0\0\0"
"Sixth\0\0\0"
"Seventh\0"
"Eighth\0\0"
"Ninth\0\0\0"
CR:
.asciiz "\n"
Space:
.asciiz " "
.text
li $s1,'*'
li $s2,'A'
li $s3,'Z'
li $s4,'a'
li $s5,'z'
li $s6,'0'
li $s7,'9'
loop:
li $v0,12
syscall # 读取一个输入的字符
move $t7,$v0 # 把这个字符存到$a0里
la $a0, CR # 输出回车
li $v0, 4
syscall
move $a0,$t7 # 把这个字符存到$a0里
beq $a0,'?',end # 若输入为'?'就终止程序
C1: bge $a0,$s2,N1 # 判断是否在'A'~'Z'之间
j C2
N1: ble $a0,$s3,R1
j C2
R1:
sub $a0,$a0,'A'
mul $a0,$a0,9
la $t0,uppercase
add $a0,$a0,$t0
li $v0,4
syscall
la $a0, CR # 输出回车
li $v0,4
syscall
j loop
C2: bge $a0,$s4,N2 #判断是否在'a'~'z'之间
j C3
N2: ble $a0,$s5,R2
j C3
R2: sub $a0,$a0,'a'
mul $a0,$a0,9
la $t0,lowercase
add $a0,$a0,$t0
li $v0,4
syscall
la $a0, CR # 输出回车
li $v0,4
syscall
j loop
C3: bge $a0,$s6,N3 #判断是否在'0'~'9'之间
j NotFind
N3: ble $a0,$s7,R3
j NotFind
R3: sub $a0,$a0,'0'
mul $a0,$a0,8
la $t0,numbers
add $a0,$a0,$t0
li $v0,4
syscall
la $a0, CR # 输出回车
li $v0,4
syscall
j loop
NotFind:
move $a0,$s1
li $v0,11 #输出没有找到"*"
syscall
la $a0, CR # 输出回车
li $v0,4
syscall
j loop
end: #终止程序
li $v0,10
syscall
[Coursera]计算机组成_Week3_Mips_Q1
最新推荐文章于 2021-02-23 06:16:23 发布