在《Game Boy CPU Manual》第87页中,声称
例如:如果
我在其他Z80文档中也遇到了同样的问题,因此我不认为这是一个错别字。
我是否误解了借位和
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
?