gpt4 book ai didi

assembly - 如何在没有 XOR 指令的 CPU 上进行 XOR

转载 作者:行者123 更新时间:2023-12-04 10:49:14 26 4
gpt4 key购买 nike

这更像是一个有趣的问题。我正在研究 SC61860 CPU,它是 8 位 CPU,用于 1987 年的 Sharp PC-1360 掌上电脑(也用于 PC-1401 和 1403)。它的指令集实际上并不包含 XOR。它确实有AND、OR、比较、减法和加法指令。

我尝试了 ANDing 和 ORing 值的一些变体来获得 XOR 会产生的结果,但没有运气。我希望避免比较,但看起来我别无选择。

如果您有兴趣,可以查看 instruction set .

顺便说一句,这个 CPU 非常适合学习汇编。很好,很简单,而且足够慢(768kHz),机器语言明显比使用 BASIC 内置的计算机快;)我通常用 C/C++/Java 编程。 assembly 已经呼吸到了新鲜空气。

最佳答案

从 bool 代数我们知道:

A XOR B = (NOT(A) AND B) OR (A AND NOT(B))

更新 :
感谢@Brett Hale、@slebetman,因为 CPU 出人意料地不支持 NOT指令,它可以通过算术求反和减法来模拟,假设 2 的补码负数表示):
NOT(A) = (-1) - A

或者在不同的否定表示的情况下 -1可以替换为相应的存储类型最大值(即 8 位寄存器为 255 或 16 位寄存器为 65565)。

关于assembly - 如何在没有 XOR 指令的 CPU 上进行 XOR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32018545/

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