Ayuda para entender fragmento en asm de z80
- na_th_an
- Amiga 1200
- Mensajes: 1273
- Registrado: 10 Oct 2012, 11:17
- Sistema Favorito: (Otro)
- primer_sistema: Spectrum +2
- consola_favorita: Sony PlayStation 1
- Primera consola: Sega Master System
- Gracias dadas: 18 veces
- Gracias recibidas: 15 veces
Re: Ayuda para entender fragmento en asm de z80
Hombre, si no lo usas en el código que hace el loop, lo puedes usar dentro para hacer cosas.
- radastan
- Amiga 2500
- Mensajes: 4542
- Registrado: 11 Jun 2007, 19:29
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Sega Genesis/Megadrive
- Primera consola: TV Games/Pong Clone
- Ubicación: Córdoba
- Gracias dadas: 9 veces
- Gracias recibidas: 40 veces
- Contactar:
Re: Ayuda para entender fragmento en asm de z80
na_th_an escribió:Hombre, si no lo usas en el código que hace el loop, lo puedes usar dentro para hacer cosas.
¿Tenéis algo en contra del acumulador? ¿Acumulafobia? ¿Vivís al límite? ¿Binariolexia?

Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝
-
- MSX Turbo R
- Mensajes: 418
- Registrado: 21 Dic 2011, 10:11
- Ubicación: Madrid
- Gracias dadas: 799 veces
- Gracias recibidas: 31 veces
Re: Ayuda para entender fragmento en asm de z80
radastan escribió:¿Tenéis algo en contra del acumulador? ¿Acumulafobia? ¿Vivís al límite? ¿Binariolexia?

radastan escribió:no tiene sentido reservarlo a menos que lo hagas aposta.
Ahí le has dado. En mi caso no es ningún secreto, échale un vistazo a decoder z80 del exomizer v2 y comprenderás que a veces la mayor optimización en velocidad implica el sacrificio del acumulador, y es entonces cuando hay que buscar soluciones imaginativas para eludir el uso de ese registro y de todas las operaciones que lo implican

na_th_an escribió:Hombre, si no lo usas en el código que hace el loop, lo puedes usar dentro para hacer cosas.
Exactamente! esa es la mayor utilidad que tiene este código.
- radastan
- Amiga 2500
- Mensajes: 4542
- Registrado: 11 Jun 2007, 19:29
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Sega Genesis/Megadrive
- Primera consola: TV Games/Pong Clone
- Ubicación: Córdoba
- Gracias dadas: 9 veces
- Gracias recibidas: 40 veces
- Contactar:
Re: Ayuda para entender fragmento en asm de z80
Urusergi escribió:radastan escribió:no tiene sentido reservarlo a menos que lo hagas aposta.
Ahí le has dado. En mi caso no es ningún secreto, échale un vistazo a decoder z80 del exomizer v2 y comprenderás que a veces la mayor optimización en velocidad implica el sacrificio del acumulador, y es entonces cuando hay que buscar soluciones imaginativas para eludir el uso de ese registro y de todas las operaciones que lo implican
Vives al límite.

Ya fuera coñas, evidentemente puede tener muchos usos saltarse el acumulador, e incluso pasar olímpicamente de funciones de transferencia y usar PUSH/POP para volcar o leer datos.
Habrá situaciones en las que merezca la pena, pero si no es así ya es complicarse la vida.
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados