如何获得INTEGER并将其转换为MIPS中单独的单个数字整数的ARRAY?

时间:2017-02-08 04:18:28

标签: arrays assembly integer mips

好的,我有一个问题。我想得到一个整数并将其转换为MIPS中的一位数整数数组,但我不确定该怎么做。

你能帮助我吗?除了这个以外,我知道如何用其他语言做到这一点...

实施例: 我想要整数32325 成为一个数组,其中A [0] = 3,A [1] = 2,A [2] = 3,......

你能帮帮我吗?我被困了一会儿! 这就是我到目前为止......

.data
     prompt: .asciiz
     msg: .asciiz
     array: .space 24 #6 digit number

.text
    li $v0, 4 #print out
    la $a0, prompt1 
    syscall

    li $v0, 5 #take in int
    syscall

    la $a0, array# Set address t0 to be the array

1 个答案:

答案 0 :(得分:0)

我不知道MIPS,但算法非常简单

将数字除以10,只要它是!= 0 ...提醒(反向顺序)是数字。存储它们的最简单方法是堆栈,因为弹出它们会使它们再次按正确顺序排列:

counter=0
while (number !=0) {
   push number%10
   number /= 10
   counter++
}
while (counter>0) {
   pop number
   store/display it
   counter--
}