将十进制转换为基数 4 汇编 (MIPS)

Convert decimal to base 4 assembly (MIPS)

如何将数组中的十进制整数转换为基数 4(有符号和无符号)?

您可以反复使用数除以所需底数的算法,直到商为零,将余数倒序作为最终结果,例如:

       QUOTIENTS OF EACH DIVISION
            ▼     ▼     ▼
     23÷4 = 5÷4 = 1÷4 = 0
      3     1     1
      ▲     ▲     ▲
 REMAINDERS OF EACH DIVISION

余数是新基数的数字(倒序):“113”。

您的代码需要两个块:

  • 一个块进行除法直到商为零,在这个块中您将余数存储在堆栈中(压入)。每个商是下一个除法的被除数
  • 另一个用于弹出余数并将它们存储在字符串中的块。剩余的将以相反的顺序提取。

编辑:如果是负数,必须先检测符号,如果符号是负数,则需要得到数字的绝对值,示例:

abs $t1, $t1

最后必须将符号重新应用于结果(如有必要)。