Beh, devi distinguere fra i registri del microprocessore e i registri degli altri integrati...
Nel 6510 abbiamo essenzialmente il registro A (accumulatore), l'unico fornito di istruzioni per i calcoli matematici (e ciè ADC che somma la memoria all'accumulatore), tuttavia non esiste un'istruzione per incrementare/decrementare l'accumulatore, ma niente paura, ci sono i registri X e Y (tutti questi registri sono ad 8 bit). Abbiamo poi i registri 0 e 1, che hanno un uso specifico per la gestione della memoria e differenziano il 6510 rispetto al 6502.
Inoltre si hanno il registro PC, program counter, che contiene la locazione corrente nella quale si trova l'istruzione o argomento dell'istruzione correntemente eseguita, e lo SP, cioè lo Stack Pointer, il puntatore allo stack.
Si tratta di un assembler diverso dall'assembler della famiglia X86... un assembler con meno istruzioni, le quali però richiedono meno cicli. Quindi, se da un lato l'assembler del 6502 può apparire più semplice per il minor numero di istruzioni, dall'altro c'è la complicazione di un maggior sforzo richiesto al programmatore, ad esempio nell'implementare cose per le quali, nello Z80 ad esempio, esistono istruzioni specifiche. In aiuto a questo sono stati studiati i macroassembler (ad esempio il merlin 64).
I registri del VIC-II sono, possiamo dire, delle particolari locazioni di memoria atte a contenere dei valori i quali servono per scopi particolari. Ad esempio, il registro locato a 53280 ($D020) serve per impostare il colore del bordo. Il registro 53265 è un registro di controllo ed ha varie funzioni (ad esempio può essere usato per impostare il modo bit-map ecc ecc...).
Discorso analogo per i registri del SID.
Il discorso sarebbe ampio, ma spero di aver reso l'idea.