【问题标题】:Where is -32768 coming from?-32768 来自哪里?
【发布时间】:2015-07-13 02:46:26
【问题描述】:

这是我正在使用的 LC3 汇编代码

.ORIG x3000
LOOP LDI R0, KBSR 
BRzp LOOP

LC3 Assembly,我知道LDI是一种加载间接寻址模式,这意味着它读取存储在某个位置的地址,然后读取该位置的值

Lc3 Keyboard我知道KBSR是键盘状态寄存器,当键盘接收到一个新字符时。

这是我在 Lc3 模拟器中运行的测试吗?我输入了字符'a'

在执行 LDI R0、KBSR 后,寄存器 0 存储的值为 -32768。

有谁知道,根据我对 ldi 和 KBSR 的定义,这个数字是从哪里来的?我期待存储类似 1 的内容,因为键盘收到了一个新字符。

【问题讨论】:

    标签: assembly load cpu-registers computer-architecture lc3


    【解决方案1】:

    在 KBSR(键盘状态寄存器)中,当读取一个键时会设置第 15 位,因此您会得到 0b1000_0000_0000_0000(或 0x8000)... - 解释为 2 的补码负数 - 恰好是 -32768十进制。

    【讨论】:

      猜你喜欢
      • 2010-09-21
      • 2014-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多