Si me han seguido el paso hasta acá, ya casi concluimos el ejemplo, pero la verdad que hasta yo me pierdo, jajaja...
Antes de seguir, espero que se den cuenta que al dar el código por partes, las mismas no sólo requieren la combinación, sino que se completen los encabezados, etc...
Bueno, nos queda hacer la pausa, que no creo que sea muy necesario explicarla, porque es parte del uso coidiano de la Int 21h y referencias encontrarán a miles.
Pausa PROC NEAR ; Espera que se presione una tecla y la devuelve en AL
push dx
push ax
wait_:
mov ah, 6
mov dl, 255
Int 21h
jz wait_
pop dx
mov ah, dh
pop dx
ret
Pausa ENDP
Bueno, esto es todo, seguro habré dejado mil baches, pero con que me los pregunten y me den un par de días para contestar, les estaré agradecido.
Finalmente, quiero decirles que esto es muy rústico, no está optimizado, ni siquiera es una forma "buena" de hacerlo.
Realmente faltó automatizar muchas cosas, por ejemplo la declaración de la cantidad de bancos como una constante igual a 8 va a funcionar en la gran mayoría de las máquinas, pero en algunas podrían verse rayas, porque las distintas placas de video tienen distintos tamaños de "ventana" ó "banco" predeterminados (no siempre son 64Kb) y deberían consultarse a través de la subfunción VESA 01h. Sin embargo espero que les haya gustado y estoy seguro que para empezar a hacer pruebas les servirá muy bien.
Sigue en "Algo de VESA 7"