gpt4 book ai didi

c - LC-2K 中使用指令 add 和nor 进行位移位

转载 作者:行者123 更新时间:2023-11-30 17:05:42 24 4
gpt4 key购买 nike

我正在尝试仅使用 LC-2K 指令来进行逻辑右移和逻辑左移!在ARM ISA汇编语言中,有LSR和LSL用于以汇编语言编写位移位,但LC-2K没有这样的选项。

LC-2K 中唯一可用的选项是:Lw、sw、beq、jalr、add、nor、noop、halt。

我似乎无法找到一种方法来仅使用 LC-2K 汇编语言中的这几条指令来进行任何位移位。

请给我一些建议。先感谢您!

最佳答案

您可以通过向其自身添加一个寄存器来左移 1。您可以使用循环向左移动多个位。

右移可以通过一个循环来完成,该循环将除底部之外的所有位复制到暂存寄存器,然后将暂存寄存器复制回源。我不熟悉 LC-2K,但是 nor 应该足以让您屏蔽位,beq 将让您测试屏蔽位是否已设置,并且 add 可以让您将该位复制到目标寄存器,并在循环之前将工作位左移一位。我能想到的最简单的方法是使用两个计数器,一个从 1 开始(用于写入),另一个从 2 开始(用于读取)。可能还有其他方法可以做到这一点,但我想到了这种方法。

关于c - LC-2K 中使用指令 add 和nor 进行位移位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35146792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com