2017-02-08 3 views
0

Итак, у меня есть проблема. Я хочу получить целое число и превратить его в массив однозначных целых чисел в MIPS, но я не уверен, как это сделать.Как мне получить INTEGER и превратить это в ARRAY из отдельных целых чисел в 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

_ «Я знаю, как это сделать на любом другом языке» _. Хорошо, так что вы уже знаете алгоритм. Тогда вам нужно уточнить, в чем проблема. Какую операцию вам нужно выполнить, что вы не чувствовали, было адекватно описано в справочной системе MIPS? – Michael

+0

* «на любом другом языке» * ...: D ... когда-либо был введен в «мозговой» язык программирования? :) Возможно нет. – Ped7g

ответ

0

Я не имею ни малейшего представления о MIPS, но алгоритм достаточно прост

Разделить число на 10, до тех пор, как она есть! = 0. .. напоминаниями (в обратном порядке) являются цифры. Самый простой способ их хранения - это стек, так как всплывающие окна снова приведут их в правильный порядок:

counter=0 
while (number !=0) { 
    push number%10 
    number /= 10 
    counter++ 
} 
while (counter>0) { 
    pop number 
    store/display it 
    counter-- 
} 
Смежные вопросы