MIPS 汇编 第二题:用系统功能调用实现简单输入输出

本文介绍了如何使用MIPS汇编通过系统功能调用来实现从键盘读取字符串并查找特定字符的功能。程序允许用户输入一个字符串,然后逐个输入字符进行查找,区分大小写。若查找到字符,输出其在字符串中的位置;未找到则显示'Fail!'。程序结束于用户输入'?'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MIPS 汇编 第二题:用系统功能调用实现简单输入输出

利用系统功能调用从键盘输入一个字符串,然后输入单个字符,查找该字符串中是否有该字符(区分大小写)。具体要求如下:

(1) 如果找到,则在屏幕上显示:

Success! Location: X

其中,X为该字符在字符串中第一次出现的位置

(2) 如果没找到,则在屏幕上显示:

Fail!

(3) 输入一个字符串后,可以反复输入希望查询的字符,直到按“?”键结束程序

(4) 每个输入字符独占一行,输出查找结果独占一行,位置编码从1开始。

提示:为避免歧义,字符串内不包含"?"符号

格式示例如下:

abcdefgh

a

Success! Location: 1

x

Fail!

代码

.data 
	buffer:	.space 100
	succ:	.asciiz "Success! Location:"
	fail:	.asciiz "Fail!\n"
	str1:	.asciiz  "input string\n"
	str2:	.asciiz "input char\n"
	endline:	.asciiz "\r\n"
	
	
.text 
	.globl main
main:
	li  $v0, 4
	la  $a0, str1	#提示输入字符串
	syscall 
	
	la  $a0, buffer # a0 = 缓冲区地址
	li  $a1, 50
	li  $v0, 8
	syscall 
loop:	
	li  $v0, 4
	la  $a0, str2  #提示输入字符
	syscall 
	
	li   $v0, 12
	syscall
	move $t3, $v0
	
	li   $v0, 4
	la   $a0, endline
	syscall 
	move $v0, $t3
	
	# is "?"
	sub  $t4,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值