【问题标题】:How to store a value on an address line?如何在地址线上存储一个值?
【发布时间】:2013-10-27 21:00:34
【问题描述】:

我需要帮助来弄清楚如何将寄存器(例如 R0)的值存储在可以在另一个寄存器(例如 R1)上找到的地址线上:

AddressLine[R1] <- M[R0]
if R1 = x3400
then x3400 <- M[R0]

【问题讨论】:

  • 我不记得操作码了,但是有一个操作码可以将寄存器值存储到寄存器指定的地址中。它类似于 STR 或 STI R0、R1。检查书的封底。

标签: lc3


【解决方案1】:

您正在寻找 STR 指令

STR <source register> <base register> <immediate offset>

AND r0,r0,#0     ; clear r0
ADD r0,r0,#10    ; r0 = 10
LEA r1,MEMSPACE  ; address of MEMSPACE
STR r0,r1,#0     ; M[R1 + 0] = R0

MEMSPACE .word 0 ; will become 10

【讨论】:

    猜你喜欢
    • 2013-04-26
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 2021-03-09
    相关资源
    最近更新 更多