Entrega #4
¿Sabía Ud. que...
...se puede acelerar un bloque de código en assembler por medio de DI/EI?
Las instrucciones
DI e
EI desactivan las interrupciones y activan las interrupciones del Z80 respectivamente, ergo, el bloque de assembler entre
DI/
EI se ejecutará mas rápido. Esto sucede porque el Z80 durante su funcionamiento, es "interrumpido" para atender a las requisitorias I/O, etc. Al desactivar las mismas, el Z80 no se ve en la obligación de atenderlas y por ende, sólo se dedica a ejecutar el bloque de CM respectivo.
Téngase en cuenta que el bloque no debe ser interactivo, ya que las operaciones I/O se realizan mediante interrupciones.
IMPORTANTE: El teclado es un dispositivo I/O, así que asegúrense de que antes del
RET haya un
EI. Es más, si sobran, no molestan.
SaluOS/2.