首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将内存中可变数量的参数扩展到参数空间

将内存中可变数量的参数扩展到参数空间
EN

Stack Overflow用户
提问于 2014-04-15 23:36:09
回答 1查看 90关注 0票数 1

我有一个函数,它将内存地址作为$a0,并使用x($a0)访问(变量)字数,其中x是8的倍数。我需要将它们存储在$sp寄存器中,以便可以使用$a0寄存器将参数传递给其他函数。全新的MIPS汇编,所以这里的任何指针都会有帮助!

EN

回答 1

Stack Overflow用户

发布于 2014-04-16 02:55:26

8的倍数,我假设您使用的是mips-64

首先,u做一个循环,每次递增8次a0:

代码语言:javascript
复制
loop: lw $t0, 0($a0)   ;fetch data and store in t0
      addi $sp,$sp,-8  ;increase stack
      sw $t0, 0($sp)   ;store data fetched
      addi $a0,$a0,8   ;increment a0 to go to next entry
;here you check that you haven't reached x yet
;let's say 8*x+$a0(initial) is stored in $t1 (this is easy to do just use sll by 3 to multiply by 8 then add a0 before loop)
      bne $a0,$t1,loop
;now you can use $a0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23088327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档