Buenas!, estoy solicitando la ayuda para elaborar un programa que presente un menú que al
presionar las flechas se desplace el usuario entre las opciones y presione Enter para seleccionar una opción.
PD: estoy usando TURBO ASSEMBLER 5... es decir emu8086
.mode small
y programaciòn clàsica como muestro en mi ejemplo del menù
Este programa debo enlazarlo junto con una calculadora que suma, resta, multiplica y divide. El programa de la calculadora, lo tengo perfectamente...
El problema es que no tengo noción de como realizar este menù; lo único que se realizar es lo siguiente:
; MOSTRANDO UN MENU EN PANTALLA
; SOLO SE EXHIBEN LAS OPCIONES, NO SE REALIZAR NINGUNA OPERACIÓN
;----------------------------------------------------------------
.MODEL SMALL
.STACK
.DATA
CrLf db 10,13,10,13,'$'
menu db 10,13,' 1. ALTA '
db 10,13,' 2. BAJA '
db 10,13,' 3. MODIFICACION'
db 10,13,' 4. LISTADO '
db 10,13,' 5. IMPRIMIR '
db 10,13,' 6. SALIR '
db 10,13,' '
db 10,13,' Opcion?: $'
msg db 10,13,' -- MENU PRINCIPAL -- ',10,13,10,13,'$'
.CODE
_MENU:
;SEGMENTO DE DATOS
MOV AX,@DATA
MOV DS,AX
;-------------------------------------
;LIMPIAR PANTALLA
mov ah,00h ;COMO LA LIMPIA? XD
mov al,03h
mov ax,0600h ;limpiar pantalla PARECE Q ES PARA AGREGARLE EL COLOR! (PARA QUE ESTÈ EL COLOR AGREGADO EN LA SIGUIENTE LINEA)
mov bh,1eh ;0 color de fondo negro, f color de letra blanco
mov cx,0000h ; PARA POSICIONAR EL COLOR Y FONDE ESPECIFICADO ANTERIORMENTE
mov dx,684Fh ;ERA 184FH NO SE QUE HACE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
int 10h
;MOSTRAR TITULO EN MSG
MOV DX,OFFSET MSG
MOV AH,09H
INT 21H
;MOSTRAR MENU
MOV DX,OFFSET MENU
MOV AH,09H
INT 21H
;LEER TECLADO
MOV AH,01H
INT 21H
;-------------------------------------
_SALIR_DOS:
MOV AH,4CH
INT 21H
END _MENU
Donde luego de esto, seria comparar el valor ingresado por el teclado y mandarlo a realizar dicha opcion seleccionada. El problema es que el menù se requiere tal y como se los plantee al principio no como yo lo realizè
Si algunos de ustedes, tiene algun programa con las caracteristicas que les pido, estarè agradecido... Gracias
Gracias de antemano!