Jednego nie rozumiem.
Z tego, co się orientuję (popraw mnie ktoś, jeśli się mylę), to dodawanie liczb o przeciwnych znakach jest zaimplementowane jako dodawanie właśnie - nie jako odejmowanie modułu drugiej liczby od pierwszej.
Z drugiej strony, Z80 zapamiętuje liczby w ten sposób, że najstarszy bit to jest bit znaku. I tak na przykład 3 będzie miało reprezentację 00000011, natomiast -1 będzie miało reprezentację 10000001.
No ale to się jakby nie zgadza. No bo 3+(-1)=2. Dodając jednak reprezentacje obu liczb w Z80 będziemy mieli 00000011+10000001=10000100, czyli -4.
Gdzie robię błąd?