【问题标题】:How to put a certain large number into a register in LC3 assembly?如何在 LC3 汇编中将某个大数放入寄存器中?
【发布时间】:2016-03-02 21:04:57
【问题描述】:

我试图让一个寄存器(比如 R1)存储一个对于立即数来说太大的特定数字(比如 440)。显然我不能只将 R1 设置为 0 并使用 ADD,有没有办法实现这一点?谢谢!

【问题讨论】:

  • 如果您看过任何示例代码,您会发现它使用.FILL 指令将值存储在内存中并从那里加载。

标签: assembly lc3


【解决方案1】:

好的,所以你的寄存器是 16 位的,所以 440 显然适合那里,但直接字段是 5 位,所以它显然不适合那里。内存也是 16 位宽,所以你可以把它存储在内存中:

toobig: .word 440

然后通过直接内存读取来获取它

LD R1, toobig

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 2021-03-25
    相关资源
    最近更新 更多