Assembly 32768从哪里来?

Assembly 32768从哪里来?,assembly,load,cpu-registers,computer-architecture,lc3,Assembly,Load,Cpu Registers,Computer Architecture,Lc3,这是我正在使用的LC3汇编代码 .ORIG x3000 LOOP LDI R0, KBSR BRzp LOOP 从中,我知道LDI是一种加载间接寻址模式,这意味着它读取存储在某个位置的地址,然后读取该位置的值 从中,我知道KBSR是键盘状态寄存器,当键盘接收到一个新字符时,它就是一个 这是我在Lc3模拟器中的测试运行?我输入了字符“a” 执行LDI R0、KBSR后,寄存器0存储-32768的值 根据我对本地设计院(ldi)和KBSR的定义,有人知道这个数字来自哪里吗?因为键盘收到了一个新字

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

.ORIG x3000
LOOP LDI R0, KBSR 
BRzp LOOP
从中,我知道LDI是一种加载间接寻址模式,这意味着它读取存储在某个位置的地址,然后读取该位置的值

从中,我知道KBSR是键盘状态寄存器,当键盘接收到一个新字符时,它就是一个

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

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

根据我对本地设计院(ldi)和KBSR的定义,有人知道这个数字来自哪里吗?因为键盘收到了一个新字符,所以我希望存储类似于1的内容。

在KBSR(键盘状态寄存器)中,读取键时设置位15,因此您将获得
0b1000\u 0000\u 0000
(或
0x8000
)。。。它被解释为一个2的负数,正好是-32768十进制