--
Blog de la Comunidad Visual FoxPro en Español http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/2777dc31-3cee-4dea-aee3-4bb9427d85e5n%40googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/b59ebb5e-cf0e-4099-b7ad-f5102cfe55b2n%40googlegroups.com.
Tu código actual repite muchas veces el mismo patrón de instrucciones, lo que lo hace largo y poco flexible. Una forma de optimizarlo es usar una tabla de valores y un bucle que recorra esa tabla, aplicando siempre la misma secuencia de operaciones. Así evitas duplicación y facilitas cambios futuros. Aquí te muestro una versión optimizada:
Mejoras aplicadas:
Esto reduce el tamaño, mejora la legibilidad y facilita el mantenimiento.
aquí tienes una versión usando macros que encapsulan el patrón repetitivo. Así puedes invocar la misma secuencia con distintos valores sin duplicar código:
CODE SEGMENT
ASSUME CS:CODE, DS:CODE
ORG 0H
; Macro que ejecuta el patrón con un valor en el puerto 11h
SEQ MACRO valor
MOV AL,00H
OUT 10H,AL
MOV AL,valor
OUT 11H,AL
MOV AL,BL
OUT 10H,AL
MOV AX,1
INT 1CH
SHL BL,1
ENDM
PROGR:
MOV AL,89H
OUT 13H,AL
CICLO:
MOV BL,01H
SEQ 81H
SEQ 42H
SEQ 24H
SEQ 18H
SEQ 18H
SEQ 24H
SEQ 42H
SEQ 81H
JMP CICLO
CODE ENDS
END PROGR