【问题标题】:Convert integer to its hexidecimal value to print将整数转换为其十六进制值以打印
【发布时间】:2010-12-06 05:10:07
【问题描述】:

假设我取一个分配给 $a0 的整数,我该如何处理并以十六进制形式打印该整数?

【问题讨论】:

标签: printing mips hex


【解决方案1】:

使用系统调用 34。 MARS syscalls

如果您使用的模拟器没有该系统调用,或者您只想查看必要的字节,则需要手动进行。最简单的方法是迭代。获取一个 10 字节的字符串(8 个十六进制值和前导 0x)。

1) 位和 $a0,常数为 15。

2) 将结果转换为等效的 ASCII 十六进制值。查找表会干净高效。

3) 将等效的十六进制值存储在字符串的空间中。请记住小端序问题。

4) $a0 逻辑右移 4 位。

5) 转到 1。

这样做直到 $a0 为 0 并且您应该在字符串中包含十六进制值,然后您可以打印它。

【讨论】:

    猜你喜欢
    • 2010-10-16
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    相关资源
    最近更新 更多