数组长度(以 mips 为单位)

发布于 2024-10-10 16:02:07 字数 30 浏览 0 评论 0原文

如何在 mips、spim 中查找数组的长度?

How to find length of an array in mips,spim?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤独陪着我 2024-10-17 16:02:07

我写这个是为了练习。我测试过,效果很好。您可能已经明白了这一点,但如果没有,它就在那里。

.data
array1: .word   1,2,3,4,5,6,7,8,9

.text
main:
        la  $a0,array1
        jal lenArray

        move    $a0,$v0
        syscall $print_int

exit:
        li  $a0,10
        syscall 


lenArray:       #Fn returns the number of elements in an array
        addi    $sp,$sp,-8
        sw  $ra,0($sp)
        sw  $a0,4($sp)
        li  $t1,0

laWhile:
        lw  $t2,0($a0)
        beq $t2,$0,endLaWh
        addi    $t1,$t1,1
        addi    $a0,$a0,4
        j   laWhile

endLaWh:    
        move    $v0,$t1
        lw  $ra,0($sp)
        lw  $a0,4($sp)
        addi    $sp,$sp,8
        jr  $ra

I wrote this for practice. I tested it, and it works well. You probably already figured this out, but if not, there it is.

.data
array1: .word   1,2,3,4,5,6,7,8,9

.text
main:
        la  $a0,array1
        jal lenArray

        move    $a0,$v0
        syscall $print_int

exit:
        li  $a0,10
        syscall 


lenArray:       #Fn returns the number of elements in an array
        addi    $sp,$sp,-8
        sw  $ra,0($sp)
        sw  $a0,4($sp)
        li  $t1,0

laWhile:
        lw  $t2,0($a0)
        beq $t2,$0,endLaWh
        addi    $t1,$t1,1
        addi    $a0,$a0,4
        j   laWhile

endLaWh:    
        move    $v0,$t1
        lw  $ra,0($sp)
        lw  $a0,4($sp)
        addi    $sp,$sp,8
        jr  $ra
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文