@DEATH_INTJ: Tak się np. zbierało bajty bit po bicie z portów I/O. Inicjalizujesz akumulator przez #$01 (to nasz bit kanarek), w każdej iteracji pętli odbierasz jeden bit, robisz ASL, i (jeśli odebrałeś bit 1) ORA #$01. Następnie BCC do początku kolejnej iteracji. Jeśli w wyniku ASL kanarek wpadł do flagi Carry, to BCC nie wykona skoku i masz koniec pętli.
[edit] Pamiętam też myk ze skokiem przez wektor umieszczonym na
@moon_bluebird: Jak pierwszy bajt wektora jest na końcu strony ($00FF, $01FF, itd.), to drugi jest brany z początku tej strony ($0000, $0100, itd.), a nie z początku następnej ($0100, $0200, itd.) - bug w procesorze. Nie wiem, czy nie poprawili tego w późniejszych odmianach. Wykorzystywało się to do utrudniania życia różnym grzebusiom, którzy chcieliby majstrować przy naszym kodzie.
Komentarze (11)
najlepsze
źródło: comment_1652169718Hpa0oLclbFWLRQLs1R6AaF.jpg
Pobierzźródło: comment_1652169790uAj0jC7IAEFTAQJSgYQGSc.jpg
PobierzLABEL1:LDA #$01
$2C
LABEL2:
[edit] Pamiętam też myk ze skokiem przez wektor umieszczonym na