6510 Assembly Explainer
Comprendre le processeur du Commodore 64, une instruction à la fois
Apprendre la programmation assembleur 6510 sur le Commodore 64
L'assembleur était la clé qui permettait d'exploiter tout le potentiel du C64. Chaque jeu rapide, chaque effet de demoscène et chaque morceau SID a été écrit par des programmeurs qui s'adressaient directement au processeur 6510.
Ce guide t'enseigne l'assembleur 6510 pas à pas. Saisis le code dans l'éditeur, regarde le résultat et parcours les exemples à ton rythme.
Aucune installation requise. Le simulateur fonctionne entièrement dans le navigateur et prend en charge les instructions 6510 les plus courantes, du chargement de valeurs et des calculs jusqu'à l'incrémentation de compteurs et au transfert de données entre registres.
Acheter sur Amazon
Trouve du matériel Commodore, des jeux, des livres et des accessoires. Tout le catalogue sur Amazon.
Le langage assembleur et le processeur MOS 6510
Le langage assembleur se situe juste au-dessus du code machine. Chaque instruction correspond directement à une seule opération que le CPU peut effectuer : charger une valeur, additionner deux nombres, stocker un résultat. Le 6510 du C64 est un processeur 8 bits, ce qui signifie qu'il travaille avec des valeurs comprises entre 0 et 255 à la fois.
Le 6510 est une variante du MOS 6502, la même famille de processeurs que l'Apple II, le BBC Micro et les ordinateurs Atari 8 bits. Commodore l'a choisi parce qu'ils possédaient MOS Technology, la société qui l'avait conçu. Le 6510 a ajouté un port I/O 8 bits utilisé pour le bank-switching : le mécanisme qui permet au C64 de basculer entre ROM et RAM dans le même espace d'adressage.
Apprendre l'assembleur 6510 permet de comprendre pourquoi les jeux C64 étaient si rapides, comment le matériel a été poussé bien au-delà de ses limites prévues, et pourquoi la programmation 8 bits est encore étudiée et pratiquée par des passionnés aujourd'hui.
L'organisation de la carte mémoire du C64▶

Les registres du 6510 : où le CPU fait son travail
Un registre est un tout petit espace de stockage intégré directement dans le processeur, bien plus rapide d'accès que n'importe quelle adresse mémoire. Le 6510 possède trois registres de travail. L'Accumulateur (A) est le registre principal : presque toutes les opérations arithmétiques et logiques y transitent. Les registres d'index X et Y servent au comptage, aux boucles et à l'adressage.
Le Stack Pointer (SP) pointe vers le sommet de la pile matérielle, la zone mémoire que le CPU utilise automatiquement lors des appels de sous-programmes et de la gestion des interruptions. Le Program Counter (PC) contient l'adresse de la prochaine instruction que le CPU exécutera.
Le Status Register contient un ensemble de flags d'un bit. Les plus importants sont Zero (Z), activé quand le dernier résultat est nul ; Negative (N), activé quand le bit de poids fort du résultat est à 1 ; et Carry (C), utilisé dans les calculs sur plusieurs octets et comme flag booléen polyvalent.
L'histoire du Commodore 64▶Simulateur assembleur 6510
Saisis une instruction 6510 et appuie sur RUN pour l'exécuter, ou sélectionne un programme exemple et parcours-le instruction par instruction. L'affichage des registres se met à jour après chaque étape.
REGISTRES
A
$00
X
$00
Y
$00
SP
$FF
PC
$0801
N
0
Z
1
C
0
V
0
ESSAYER UNE INSTRUCTION
Tape une instruction et appuie sur RUN ou Entrée. Essaie : LDA #$42, INX, ADC #$0A
EXEMPLES DE PROGRAMMES
Sélectionne un programme ci-dessus, puis utilise STEP pour l'exécuter instruction par instruction.
RÉFÉRENCE DES INSTRUCTIONS
Charger une valeur dans l'accumulateur. En mode immédiat (LDA #$42), la valeur est chargée directement. En mode page zéro (LDA $20), l'octet stocké à cette adresse mémoire est chargé.
FLAGS : N, Z
Charger une valeur dans le registre X.
FLAGS : N, Z
Charger une valeur dans le registre Y.
FLAGS : N, Z
Écrire la valeur de l'accumulateur à une adresse mémoire. A reste inchangé.
FLAGS : None
Écrire le registre X à une adresse mémoire.
FLAGS : None
Écrire le registre Y à une adresse mémoire.
FLAGS : None
**** FREQUENTLY ASKED QUESTIONS ****
READY.
Découvrir d'autres outils du C64 Lab
Compose ta propre musique SID, programme ton propre sprite ou crée un effet visuel directement dans ton navigateur.
Ouvrir le C64 Lab▶