BlackHole escribió:VICE lo hace automáticamente. Entras en el monitor con ALT+M, usas "sw reset" para inicializar el cronómetro (stopwatch) y en cada instrucción te muestra el contador de ciclos. Puedes poner puntos de ruptura permanentes con "break" o de un solo uso con "until".
Todavía no he programado nada, pero he hecho pruebas tanto con tu código como con el del repositorio de svendahl y tu código es ligeramente más lento: 103383 ciclos frente a los 91795 ciclos del código de svendahl para un ejemplo de texto de 1k. Seguramente tengas algún cuello de botella (rutina getbit o algo que se ejecute muy frecuentemente). Cuando encuentres el problema tu rutina será más rápida, ya que la diferencia es pequeña. Adjunto ficheros. He usado el ensamblador 64tass y el emulador WinVice para las pruebas.