【问题标题】:Integer Problem in MIPS assemblyMIPS 汇编中的整数问题
【发布时间】:2009-11-30 05:33:20
【问题描述】:

如果我提示用户输入一个整数,则使用 MIPS 程序集我如何才能获取该整数并将其分解为必要的部分?

例子:

                 # User inputs a number
li  $v0, 5      # read value of n
    syscall

然后我将 $v0 中的值存储在一个临时寄存器中,比如 $t0,并且需要将它分解为组成它的每个部分。因此,308 必须分解为:3、0 和 8。我需要这样做,以便我可以将这些部分中的每一个平方并将它们相加。

来自用户的输入值必须以整数形式输入。

谢谢, 核磁共振

【问题讨论】:

    标签: assembly user-input mips


    【解决方案1】:

    除以 10,用余数得到 8,如果商不为零,再除以 10,如果商不为零,则再用余数归零。

    【讨论】:

    • 这很有意义。我完全是在想那个。感谢您的帮助。
    【解决方案2】:

    这是@Don 的回答,有一点不同

    $t0 包含用户输入。 (假设未签名)

    li   $t1,10
    DIVU $t0,$t1 //divide by 10
    
    mfhi $t2 //t2 contains the division result
    mflo $t3 //t3 containts the division remainder
    

    使用 beq, bgt 进行比较。

    一些帮助

    http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多