arrays - MIPS初学者:计算数组中0的数量
问题描述
有人可以帮我处理 MIPS 代码吗?我不明白为什么它不起作用。我想计算数组中零的数量。我没有正确遍历我的数组吗?
.data
array: .word 20, 0, 3, 0, 0, -4, 0, -30, 120, 0, 0 #
array of integers
array_size: .word 11 # number of elements in array
.text
.globl main
main:
la $t0, array # array[0]'s address
lw $t1, array_size # array_size
li $t2, 0 # amount of zeroes = 0
li $t3, 0 # i = 0
Lbegin:
bge $t3, $1, Ldone # if(i >= array_size) goto Ldone
# array[i]
sll $t4, $t3, 2 # i x 4 (aka offset)
add $t4, $t4, $t0 # array[0 + i]'s address
lw $t5, 0($t4) # retrieve value array[i]
beqz $t5, Lequal_zero # if(array[i] == 0) goto Lequal_zero
b Li_increment # goto i++
Lequal_zero:
addi $t2, $t2, 1 # amount of zeroes + 1
Li_increment:
addi $t3, $t3, 1 # i++
b Lbegin # loop again
Ldone:
li $v0, 1
move $a0, $t2
syscall
jr $ra
解决方案
推荐阅读
- azure - Azure 应用服务 - 在 Jetty 上运行 Solr - Azure 维护后出现 LockObtainFailedException
- node.js - Node.js 错误 - AssertionError [ERR_ASSERTION]: 模式不应该使用全局或粘性模式...重新安装包后
- powerbi - powerBI 查找和子字符串
- java - SQSEvent 在 aws-lambda-java-events 1.x 中不存在并且 AmazonS3 在 aws-lambda-java-events 2.x 中不存在?
- r - R中的多个数据帧为空
- php - 从 url 获取 api json 数据
- javascript - 根据点击的元素触发不同的功能
- html - 页脚偏移中的数据表下拉列表
- html - 如何让两个垂直元素的高度之一取决于另一个?
- android - 如何使用 JDBC 驱动器将 MySql 表图像 (BLOB) 加载到 ImageView