Cześć!
ta komórka pamięci 764, przechowuje kod ostatnio naciśniętego klawisza. Gdy nic nie jest wciśnięte to jest tam wartość 255. sekwencja
ldy #nic ; (nic=255)
sty klaw
daje taki efekt że po wyjściu z programu, mimo iż nacisnąłeś klawisz aby go przerwać.. nie spowoduje reakcji systemu operacyjnego/programu nadrzędnego (np. QA z którego uruchamiasz ten kod). Jest to jakby wyzerowanie bufora klawiatury (w tym wypadku 1-bajtowego bufora).
A jeżeli chodzi o:
to jest to trochę "optymalizacja" na siłę... co utrudnia zrozumienie kodu początkującym...
w normalnym wypadku napisałbym tak:
lda KLAW
cmp #255
beq ...
a więc sprawdzamy czy wciśnięto jakiś klawisz, jeżeli nic nie wciśnięto (255) to skok BEQ zostanie wykonany i mamy skod do "mrugaj".
Autor kodu postanowił zmusić czytającego do myślenia i napisał to inaczej
do rej. Y ładuje kod klawisza, zwiększa ten kod o 1, co w przypadku 255 (nic nie wciśnięto) da wartość 0, potem rozkaz BEQ wykona się tylko wtedy gdy flaga "Z" w rej. statusu 6502 jest wyzerowana (a więc nastąpiło zero w wyniku operacji... w tym wypadku INY). W każdym innym wypadku (gdy zawartość KLAW nie będzie równa 255) wynik operacji INY nie będzie zerem więc wykonywanie pętli zostanie przerwane.