我能';“t打印”;输入“;在Mips中

我能';“t打印”;输入“;在Mips中,mips,qtspim,Mips,Qtspim,我正在将C代码转换为Mips代码 C代码是 int main(void) { int i; int data [10] = { 10, -2, 5, 22, 99, 0, -5, 8, 30, 7}; for(i=0; i<10; i++){ printf("%d\n", data[i]); } return 0; } s1用于保存值。 t0表示索引 t1是slt的标志 t1乘以4等于t2 你应该专注于 li $v0, 4

我正在将C代码转换为Mips代码

C代码是

int main(void) {
int i;
int data [10] = { 10, -2, 5, 22, 99, 0, -5, 8, 30, 7};
    for(i=0; i<10; i++){
        printf("%d\n", data[i]);
       }
  return 0;
 }
s1用于保存值。 t0表示索引 t1是slt的标志 t1乘以4等于t2

你应该专注于

          li $v0, 4
      la $a0, enter
      syscall
它打印 10-2522990-58307

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD


请帮我DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
.space 10
保留10字节的内存,但您试图存储10个字(40字节)。因此,您最终会覆盖换行符


如果将声明更改为
data:.space 40
,则应获得预期的输出。

您使用哪个操作系统?我使用Window10!!哦,非常感谢你!!!我为什么不检查一下。。。但我有一个问题。首先,我如何用10字节的内存初始化数组?我必须在数据段而不是main中初始化数组。你能告诉我怎么做或者我能参考的任何东西吗?嘿,米卡赫尔,你怎么一次得到多个输入整数?我已经发布了另一个关于它的问题。你可以去看看
          li $v0, 4
      la $a0, enter
      syscall