MENU
Este es un pequeño programa ejempleficando el desarrollo de un menu sencillo igual al que debemos desarrollar para el examen.
La mayoría de este código consiste en desplegar la lista de opciones en pantalla lo cual es muy sencillo si utilizamos el BLOQUE PARA IMPRIMIR UNA CADENA DE CARACTERES.
.MODEL SMALL
.STACK
.DATA
OPCION1 DB "1.- OPCION 1$"
OPCION2 DB "2.- Opción 2$"
OPCION3
DB "3.- Opción 3$"
OPCION4 DB "4.- Salir $"
SELECCION1 DB "Usted selecciono la Opción 1$"
SELECCION2 DB "Usted selecciono la Opción 2$"
SELECCION3 DB "Usted selecciono la Opción 3$"
SELECCION4 DB "Usted selecciono la Salir $"
PREGUNTA DB "Elija una opción ->$"
.CODE
MENU PROC FAR
MOV AX, @DATA
MOV DS, AX
MOV AH, 00H
MOV AL, 02H
INT 10H
RETORNO1:
MOV DH, 3
MOV DL, 3
MOV
BH, 00H
MOV AH, 02H
INT 10H
MOV DX, OFFSET OPCION1
MOV AH, 09H
INT 21H
MOV DH, 4
MOV DL, 3
MOV
BH, 00H
MOV AH, 02H
INT 10H
MOV DX, OFFSET OPCION2
MOV AH, 09H
INT 21H
MOV DH, 5
MOV DL, 3
MOV
BH, 00H
MOV AH, 02H
INT 10H
M OV DX, OFFSET OPCION3
MOV AH, 09H
INT 21H
MOV DH, 6
MOV DL, 3
MOV
BH, 00H
MOV AH, 02H
INT 10H
MOV DX, OFFSET OPCION4
MOV AH, 09H
INT 21H
MOV DH, 8
MOV DL, 3
MOV
BH, 00H
MOV AH, 02H
INT 10H
MOV DX, OFFSET PREGUNTA
MOV AH, 09H
INT 21H
MOV AH, 01H
INT 21H
CMP
AL, '1'
JE PROC1
CMP AL, '2'
JE PROC2
CMP AL, '3'
JE PROC3
CMP AL, '4'
JE PROC4
JMP RETORNO1
PROC1:
MOV DH, 10
MOV DL, 3
MOV
BH, 00H
MOV AH, 02H
INT 10H
MOV DX, OFFSET SELECCION1
MOV AH, 09H
INT 21H
JMP RETORNO1
PROC2:
MOV DH, 10
MOV DL, 3
MOV
BH, 00H
MOV AH, 02H
INT 10H
MOV DX, OFFSET SELECCION2
MOV AH, 09H
INT 21H
JMP RETORNO1
PROC3:
MOV DH, 10
MOV DL, 3
MOV
BH, 00H
MOV AH, 02H
INT 10H
MOV DX, OFFSET SELECCION3
MOV AH, 09H
INT 21H
JMP RETORNO1
PROC4:
MOV DH, 10
MOV DL, 3
MOV BH, 00H
MOV
AH, 02H
INT 10H
MOV DX, OFFSET SELECCION4
MOV AH, 09H
INT 21H
MOV AX, 4C00H
INT 21H
MENU ENDP
END MENU
El mayor chiste de este programa son las comparaciones y los saltos que realiza (si los entiendes ya la hiciste). Haz click para bajar el archivo ASM