Open hcoderLee opened 2 years ago
According to the GBCPUman:C - Set if no borrow. In my opinion, the code should be:
C - Set if no borrow.
self.reg.set_flag(Flag::C, a >= n);
when the value of register A is greater then the number n, a-n is not borrowed. But in the project, the code is:
a-n
self.reg.set_flag(C, u16::from(a) < u16::from(n));
Which I couldn't understand.
The substract in i8080/z80 is 'unintuitive' behaviour, See https://retrocomputing.stackexchange.com/questions/12558/the-behavior-of-the-auxiliary-carry-flag-in-subtraction-on-intel-8080
According to the GBCPUman:
C - Set if no borrow.
In my opinion, the code should be:when the value of register A is greater then the number n,
a-n
is not borrowed. But in the project, the code is:Which I couldn't understand.