第一次互评作业:字符串查找比较

输入字符串
输入单个字符

在字符串中查找

(1)如果有就返回位置
$a0为字符串的位置
$a1为字符串的长度


(2)如果查完了都没有找到就输出失败

当输入?时结束

 1 .data
 2 
 3 message1: .asciiz "
Success! Location: "
 4 
 5 message2: .asciiz "
Fail! "
 6 
 7 buf: .space 100
 8 
 9 space: .asciiz "
"
10 
11 .text
12 
13 la $a0,buf         #字符串起始地址
14 la $a1,100         #最大字节
15 
16 li $v0,8           #输入字符串
17 syscall
18 move $t6,$a0
19 
20 main:
21 
22 li $v0,12          #输入字符
23 syscall
24 
25 move $t3,$v0
26 move $t0,$t3
27 li $t1,63
28 beq $t0,$t1,exit
29 
30 li $t0,0
31 
32 addi $t5,$a1,-1
33 
34 loop:
35 
36 bgt $t0,$t5,fail
37 add $t2,$t6,$t0                #循环查找字符串中的字符当计数器大于字节数时失败
38 lb $t1,($t2)
39 beq $t1,$t3,success
40 addi $t0,$t0,1
41 j loop
42 
43 fail:
44 
45 li $v0,4
46 la $a0,message2               #打印失败信息
47 syscall
48 li $v0,4
49 la $a0,space
50 syscall
51 li $v0,1
52 j main
53 
54 success:
55 
56 addi $t0,$t0,1                #打印成功信息
57 li $v0,4
58 la $a0,message1
59 syscall
60 li $v0,1
61 move $a0,$t0
62 syscall
63 li $v0,4
64 la $a0,space
65 syscall
66 #li $t0,0
67 j main
68 
69 exit:
70 
71 li $v0,10
72 syscall
Yosoro
原文地址:https://www.cnblogs.com/tclan126/p/7161065.html