循环打印值

时间:2014-10-05 04:52:09

标签: mips computer-architecture

嘿伙计们我是ComArch的新手。我正在写作业。我的问题是我在我的程序中有这个循环,它将用户int输入除以10,我的循环将经过并除以直到商为0。目前它为我的商打印出0但是doest打印出剩余的每个值。那么我将如何修改我的代码以打印掉分割后留下的每一个剩余部分。

loop:
    li $s0, 10    #divisor

    div $t0,$s0 #divide input by 10
    mflo $t0    #quotiant 
    mfhi $t3        #remainder
    sw $t3, ($t1)   #stores emainder into address of int_a
    addi $t1,$t1,4  #increases the pointer
 bne  $t0,0,loop

1 个答案:

答案 0 :(得分:0)

您可以在MIPS Architecture and Assembly Language Overview部分找到" System Calls and I/O (SPIM Simulator)"详细说明如何打印值。

在您的情况下,在循环中,您必须打印$t3

li  $v0, 1          # load appropriate system call code into register $v0;
                    # code for printing integer is 1
move    $a0, $t3    # move integer to be printed into $a0:  $a0 = $t3
syscall             # call operating system to perform operation