【问题标题】:What is the state of $s0 after the program is finished running?程序运行完毕后$s0的状态是什么?
【发布时间】:2018-07-22 01:25:05
【问题描述】:

我知道“addi $s0, $zero, 1”将 1 存储到 $s0 中,但我不确定其余的代码。这是我在我的汇编语言课程的一个测试中错过的一个问题,我正试图在几天内为我的期末考试学习答案。非常感谢任何帮助。我还想补充一点,我们所有的编码都是在 MIPS 中完成的。

addi $s0, $zero, 1
sll $s0, $s0, 8
addi $s0, $s0, 34

【问题讨论】:

  • 为什么不在 spim 或其他中试试呢?
  • 另外或独立地请编辑您的问题以逐条说明您认为它在做什么,以便我们了解您的正确或错误以及在哪里。
  • 所以您有一些 mips 文档并查看了说明,是吗?那份文件是怎么说的?
  • 我跑的时候说跑成功了。我确实添加了一些其他代码来打印上面的代码,我得到了数字 290....
  • 第一条指令加 1 和 0 并放入 s0.So s0=1 。 SLL 将 s0 逻辑左移 8 位,结果为 s0。这与将 s0 乘以 2^8(256) 相同。所以 s0=1*256=0。然后将 34 添加到 s0 并导致 s0 为 290。

标签: assembly mips


【解决方案1】:

第一条语句: register s0 -> 1

第二条语句:逻辑左移 8 位:1<<8 = 256

第三条语句:注册s0:256+34

【讨论】:

    猜你喜欢
    • 2013-04-27
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    相关资源
    最近更新 更多