LC-3,加载地址值与加载该地址的内容

时间:2017-03-21 13:20:27

标签: lc3

我需要编写一个TRAP函数,提示用户输入2个16位内存地址,然后显示这2个地址的范围及其内容。我已经编写了所有代码来进行显示工作,我的问题是虽然我可以将值加载到寄存器中,但我无法弄清楚如何将该值视为地址。示例:用户已输入xAAAA和xAAAD。我需要输出类似的东西:

import moment from 'moment'

const date = "Tue, 21 Mar 2017 15:49:25 +0300"
const day = moment(date).format('DD')
const year = moment(date).format('YYYY')
const month = moment(date).format('MM')
const weekday = moment(date).format('ddd')

我可以打印位置并在循环中将其递增,但是将值视为地址而不是值可以逃避我。如果我使用

    LOCATION:         CONTENTS:
    xAAAA             xFF07
    xAAAB             x123A
    xAAAC             x8CD2
    xAAAD             x4321

我只是获取存储VALUE1的地址,如果我使用

    LEA R0, VALUE1 

我只是得到了价值。我想要做的是让VALUE1描述一个地址。任何人都可以帮我指出正确的方向吗?

1 个答案:

答案 0 :(得分:0)

你想要的是指令LDI。

语法为:LDI destination_register, source_offset

它的作用是转到标签(在汇编过程中转换为偏移量)并将其值作为指向所需数据的指针,然后将数据放入寄存器中。

Here是解释该指令的视频。