在Game Boy CPU 手册的第 87 页上,声称该CP n
指令在没有借位时设置了进位标志,这意味着A < n
. 这似乎与自身冲突,因为进位标志是在A > n
.
一个例子:如果A=0
和B=1
,CP B
设置标志如SUB A, B
,即 0 - 1。这变为 0 + 255 = 255 并且未设置进位标志,即使A < B
.
我在其他 Z80 文档中也遇到了同样的问题,所以我不认为这是一个错字。
我是否误解了借贷和SUB
工作的方式,还是发生了其他事情?在标志方面不SUB
等于ADD
与二进制补码?