据说在8085中,减法是在2的补码中执行的,因此必须根据操作来设置标志。然而,在图中,我无法弄清楚辅助进位标志被设置为'0‘的原因,进位标志也是如此。当我执行2的补码运算时,我发现了carry=1 (在2的补码中没有考虑到这一点),我还发现1的进位从低位半字节移到了高位,所以我认为辅助进位是1,但我发现它们的情况正好相反。

类似地,在下面显示的第二种情况下,我手动将进位设置为0,而进位标志设置为1。

发布于 2018-06-12 19:08:07
根据第118页中的8085 manual,应设置操作。看起来GNUSim8085有个bug。GNUSim8085有几个bug,他们在最新版本中修复了其中的一些(包括DAA指令的bug),但看起来仍然有更多与辅助进位相关的bug。Check here,获取我很久以前在v1.3.7中发现的错误列表
我建议在https://gsim85.soft112.com/中使用gsim85,因为这似乎正确地实现了辅助进位操作。不过,这可能有点难用。
另外,如果你不想要模拟器,但想要一个像8085训练器套件那样的接口,可以看看我在9~ 10年前写的Dirty8085,它最近修复了辅助进位更新。
https://stackoverflow.com/questions/50221505
复制相似问题