1

我现在正在学习关于计算机组织和体系结构的课程。我们得到了一些练习要做。其中之一是将汇编代码转换为机器指令。

我坚持转换movia为机器指令。

我知道它由 2 个操作组成,orhi并且addi.

这是汇编中的代码:

movia r8, 50000 

练习说明那r00x0,并且r80x8

因此,orhi将是:orhi r8, r0, %hiadj(50000)并且添加将是:addi r8, r8,%lo(50000)

我已经得到了orhi

    00000 01000 1100001101010000 110100    
___________________r0____r8_______50000________0x34(opcode)

但我必须用上%hiadj50000!我不知道怎么做?我已经搜索了一下,但没有找到足够清楚的答案。

我对此很陌生,但真的很想了解!那么,如何使用%hiadj? 抱歉,如果问题不清楚,但如果您想提供帮助,我会尝试解释更多。

4

1 回答 1

1

%hiadj是其操作数的 16 个最高有效位,如果 16 个最低有效位将由movia. 在 的情况下50000,最高 16 位是0,并且没有符号扩展。

所以%hiadj(50000)就简单了0

于 2014-11-10T10:54:04.983 回答