我试图编写一个初始化R1 = 5,R2 = 16的短LC-3程序并计算R1和R2的总和并将结果存入内存X4000。该程序应该从x3000开始。不幸的是,我必须以二进制形式编写它。LC3,将寄存器的值存储到内存位置
这是我到目前为止...
.orig x3000__________;程序开始于X3000
0101 001 001 1 00000; R1 < - R1和X0000
0001 001 001 1 00101; R1 < - R1 + x0005
0101 010 010 1 00000; R2 < - R2与X0000
0001 010 010 1 01000; R2 < - R2 + x0008
0001 010 010 1 01000; R2 < - R2 + x0008
0001 011 010 0 00 001; R3 < - R2 + R1
//最后一步就是我挣扎...... 我想使用ST的,我想通PCOFFSET9是994,但我不能用8位表示......所以我该怎么做呢?我的代码效率低下吗?
非常感谢。这是我后来在浏览笔记时发现的方法。对于遇到这种情况的其他人来说,重要的是不要将这些“标签”放在.END之后,而是要确保它们在HALT伪操作码之后。 –