aber ich versteh immer noch nicht, wie ich herrausfinde, wann ich cp und wann ich cpc nehmen muss.
Ja wie ? immer bei Zahlen die 8 bit haben cp

und bei zahlen die 16 und mehr die lows mit cp und den ganzen rest (meistens nur Highs)
cpc

genauso addieren mache mal sim und addiere mal zwei 16 bit zahlen,
das ist einfacher zu verstehen wenn ergebnis von add also beide lows höher als 255 ist
wir carry gesetzt und bei den highs machst Du adc also beide hight und den carry dabei
(wie normales rechnen auf papier, wenn ergebnis höcher 9 wird eine 1 mit eine Zeile weiter mitgenommen die 1 ist halt auch carry)

also bei lows cp sub oder add
bei highs cpc sbc oder adc
klar?