6510 Assembly Explainer
Cómo funciona el procesador del Commodore 64, instrucción a instrucción
Aprender a programar en ensamblador 6510 en el Commodore 64
El lenguaje ensamblador fue la clave para aprovechar al máximo el C64. Cada juego rápido, cada efecto de la demoscene y cada pieza SID fue escrita por programadores que se comunicaban directamente con el procesador 6510.
Esta herramienta interactiva enseña los fundamentos. Escriba una instrucción 6510 y observe cómo los registros del procesador se actualizan en tiempo real. Recorra programas de ejemplo instrucción a instrucción para ver exactamente lo que hace la CPU en cada paso.
No necesita instalación. El simulador funciona completamente en el navegador y admite las instrucciones 6510 más habituales, desde cargar valores y realizar cálculos hasta contar y transferir datos entre registros.
Comprar en Amazon
Encuentra hardware, juegos, libros y accesorios para Commodore. Toda la gama disponible en Amazon.
El lenguaje ensamblador y el procesador MOS 6510
El lenguaje ensamblador está un nivel por encima del código máquina. Cada instrucción corresponde directamente a una sola operación que el procesador puede realizar: cargar un valor, sumar dos números, guardar un resultado. El 6510 del C64 es un procesador de 8 bits, lo que significa que trabaja con valores de 0 a 255 a la vez.
El 6510 es una variante del MOS 6502, la misma familia de procesadores que usaban el Apple II, el BBC Micro y los ordenadores Atari de 8 bits. Commodore lo eligió porque era propietario de MOS Technology, la empresa que lo diseñó. El 6510 añadió un puerto I/O de 8 bits utilizado para el bank-switching: el mecanismo que permite al C64 alternar entre ROM y RAM en el mismo espacio de direcciones.
Aprender ensamblador 6510 ayuda a entender por qué los juegos del C64 eran tan rápidos, cómo el hardware fue llevado mucho más allá de sus límites originales y por qué la programación de 8 bits sigue siendo estudiada y practicada por entusiastas hoy en día.
El mapa de memoria del C64 explicado▶

Los registros del 6510: donde trabaja el procesador
Un registro es un pequeño espacio de almacenamiento integrado directamente en el procesador, mucho más rápido de acceder que cualquier dirección de memoria. El 6510 tiene tres registros de trabajo. El Acumulador (A) es el registro principal: casi todas las operaciones aritméticas y lógicas pasan por él. Los registros de índice X e Y se usan para contar, hacer bucles y direccionar.
El Stack Pointer (SP) apunta a la cima de la pila de hardware, el área de memoria que el procesador usa automáticamente al llamar a subrutinas y gestionar interrupciones. El Program Counter (PC) contiene la dirección de la siguiente instrucción que el procesador ejecutará.
El Status Register contiene un conjunto de flags de un bit. Los más importantes son Zero (Z), activado cuando el último resultado fue cero; Negative (N), activado cuando el bit más significativo del resultado está a 1; y Carry (C), utilizado en cálculos de varios bytes y como flag booleano de propósito general.
La historia del Commodore 64▶Simulador de ensamblador 6510
Escriba una instrucción 6510 y pulse RUN para ejecutarla, o seleccione un programa de ejemplo y recórralo instrucción a instrucción. La pantalla de registros se actualiza después de cada paso.
REGISTROS
A
$00
X
$00
Y
$00
SP
$FF
PC
$0801
N
0
Z
1
C
0
V
0
PROBAR UNA INSTRUCCIÓN
Escribe una instrucción y pulsa RUN o Intro. Prueba: LDA #$42, INX, ADC #$0A
PROGRAMAS DE EJEMPLO
Selecciona un programa arriba y usa STEP para ejecutarlo instrucción por instrucción.
REFERENCIA DE INSTRUCCIONES
Cargar un valor en el acumulador. El modo inmediato (LDA #$42) carga el valor directamente. El modo página cero (LDA $20) carga el byte almacenado en esa dirección de memoria.
FLAGS: N, Z
Cargar un valor en el registro X.
FLAGS: N, Z
Cargar un valor en el registro Y.
FLAGS: N, Z
Escribir el valor del acumulador en una dirección de memoria. A no cambia.
FLAGS: None
Escribir el registro X en una dirección de memoria.
FLAGS: None
Escribir el registro Y en una dirección de memoria.
FLAGS: None
**** FREQUENTLY ASKED QUESTIONS ****
READY.
Explorar más herramientas del C64 Lab
El 6510 Assembly Explainer es una de las muchas herramientas interactivas del C64 Lab. Dibuje sprites, componga sonidos, explore el mapa de memoria y juegue a juegos de arcade, todo en su navegador.
Abrir el C64 Lab▶