La única instrucción de salto incondicional es:
- “jmp”.
“jmp” produce un salto en el contador de programa a la dirección indicada, cuando se utiliza el modo de direccionamiento absoluto (ej. “jmp $c000”). Y produce un salto a la dirección contenida en la dirección indicada (puntero o vector), cuando se utiliza el modo de direccionamiento indirecto (ej. “jmp ($c000)).
En este último caso, puesto que una posición de memoria sólo puede contener un único byte, y una dirección del C64 requiere dos bytes, se aplica la regla de que el LSB de la dirección de destino está en la posición indicada en la instrucción, y el MSB de la dirección de destino está en la posición siguiente (ej. $c000 => LSB destino, $c001 => MSB destino). Esto es así porque el 6510 sigue la arquitectura “Little endian”.
“jmp” no soporta más modos de direccionamiento. Sólo el absoluto y el indirecto. Y no modifica ningún flag del registro de estado.
Sus detalles pueden verse aquí: http://www.6502.org/tutorials/6502opcodes.html#JMP.