【问题标题】:Converting Assembly to Machine Code将汇编转换为机器代码
【发布时间】:2014-10-10 12:15:28
【问题描述】:

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

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

我知道它包含两个操作,orhiaddi

这是汇编代码:

movia r8, 50000 

练习表明r00x0r80x8

所以,orhi 将是:orhi r8, r0, %hiadj(50000),而添加将是:addi r8, r8,%lo(50000)

我已将orhi 发送至:

    00000 01000 1100001101010000 110100    
___________________r0____r8_______50000________0x34(opcode)

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

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

【问题讨论】:

    标签: assembly machine-code intel-fpga nios


    【解决方案1】:

    %hiadj 是其操作数的 16 个最高有效位,如果 16 个最低有效位将由movia 进行符号扩展,则进行调整。对于50000,最高16位为0,没有符号扩展。

    所以%hiadj(50000) 就是0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-09
      • 2013-01-22
      • 2021-04-23
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多