11

在Game Boy CPU 手册的第 87 页上,声称该CP n指令在没有借位时设置了进位标志,这意味着A < n. 这似乎与自身冲突,因为进位标志是在A > n.

一个例子:如果A=0B=1CP B设置标志如SUB A, B,即 0 - 1。这变为 0 + 255 = 255 并且未设置进位标志,即使A < B.

我在其他 Z80 文档中也遇到了同样的问题,所以我不认为这是一个错字。

我是否误解了借贷和SUB工作的方式,还是发生了其他事情?在标志方面不SUB等于ADD与二进制补码?

4

1 回答 1

13

GameBoy CPU 手册有倒退。SUBSBC并且CP在有借位时都设置进位标志。如果SUB/SBC/CP A,n执行,则设置进位,n > A否则很清楚。

这与 Z-80(和 8080)操作一致。以及 MAME 和 MESS 工具的携带方式相同

于 2015-07-14T19:10:36.770 回答