【MIPS汇编简单算法实例 Lab15】用栈实现函数调用完成 统计字符串中某种数据类型的个数

本文介绍了一个使用MIPS汇编语言通过栈实现函数调用来统计字符串中小写字母数量的示例。该示例定义了一段包含字母与数字的字符串,并通过main函数与LiLetter子程序配合完成统计过程。

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

【MIPS汇编简单算法实例 Lab14】用栈实现函数调用完成 统计字符串中某种数据类型的个数

以小写字母为例:

.data
	arr:.byte '0','a','z',0,'1',1,'b','c',12,'p'
.text
main:
	la $t0,arr # &arr
	li $t1,11   #len
	
	addiu $sp,$sp,-16
	sw $t0,0($sp)
	sw $t1,4($sp)
	sw $ra,12($sp)
	jal LiLetter
	lw $ra,12($sp)
	lw $t2,8($sp)
	
	li $v0,10
	syscall

LiLetter:
	lw $a0,0($sp)   #lite
	lw $a1,4($sp)
	li $t0,0
	li $t1,0
	addi $t2,$a1,-1
loop:	
	bgt $t0,$t2,out #loop
	add $t1,$t0,$a0
	lb $t1,($t1)
	bgt $t1,0x60,goon
	add $v1,$v1,$zero
	addi $t0,$t0,1
	b loop
goon:
	blt $t1,0x80,goon2 #goon
	add $v1,$v1,$zero
	addi $t0,$t0,1
	b loop
goon2:	
	addi $t0,$t0,1  #gon2
	addi $v1,$v1,1
	b loop
out:	
	sw $v1,8($sp) #out
	jr $ra

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值