Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

[ASSEMBLER] menu en ensamblador

Participa en el tema [ASSEMBLER] menu en ensamblador en el foro Programación.
Hola a todos, estoy haciendo un programa en ensamblador, lo que pasa es que necsesito ...

Buscar en este tema:
 
  •  
    #1 [ASSEMBLER] menu en ensamblador
    Hola a todos, estoy haciendo un programa en ensamblador, lo que pasa es que necsesito desplegar un menú, ya hice que desplegara los mensajes, ahora necesito escojer alguna opcion puesta en ese menu pero no se como hacerle, podrian ayudarme por favor?
    +
     
    0
    Me gusta
     
    | Más
  • #2 Re: menu en ensamblador

    Poné lo que tenés hasta ahora.
    Me gusta este mensaje
  • #3 Re: menu en ensamblador

    esto es lo que llevo:
    LF equ 10
    CR equ 13
    %include "macros2.asm"
    extern DespliegaLFCR, Cls,opcion1,opcion2
    segment pila stack
    resb 256
    segment vars data
    msje1 db "Bienvenidos!",LF,CR,"$"
    msje2 db "Selecciona una opcion",LF,CR,"$"
    msje3 db "1.- Conteo ascendente",LF,CR,"$"
    msje4 db "2.- Conteo descendente",LF,CR,"$"
    msje5 db "3.- Segmento circulante en sentido de las manecillas del reloj",LF,CR,"$"
    msje6 db "4.- Segmento circulante en sentido contrario a las manecillas del reloj",LF,CR,"$"
    msje7 db "5.- Ocho parpadeante",LF,CR,"$"
    msje8 db "6.- Salir",LF,CR,"$"

    segment principal code
    ..start:
    mov ax,vars ; Ajusta DS
    mov ds,ax


    call far Cls
    DespCadena msje1
    DespCadena msje2
    DespCadena msje3
    DespCadena msje4
    DespCadena msje5
    DespCadena msje6
    DespCadena msje7
    DespCadena msje8
    mov ah,0 ; Espera por cualquier tecla
    int 16h
    cmp al,"1"
    jmp proc

    cmp al,"2"
    jmp proc2
    ; cmp al,"3"
    ; jmp proc3
    ; cmp al,"4"
    ; jmp proc4
    ; cmp al,"5"
    ; jmp proc5
    ; cmp al,"6"
    ; jmp 21h

    proc: call far Cls
    DespCadena msje3
    call far opcion1

    proc2: call far Cls
    DespCadena msje3
    call far opcion2


    ;proc2: mov ds,ax
    ;proc3: mov ds,ax
    ;proc4: mov ds,ax
    Fin
    y esto lo puse en un procedimiento externo:
    global opcion1
    opcion1:
    mov ah,0
    int 16h
    retf
    ;----------------------------------------------------------------------------------
    global opcion2
    opcion2:
    ////aqui
    mov ah,0
    int 16h
    retf
    ya se como leer las opciones pero ahora lo que necesito es que en cuanto se lea una opcion se teclee la letra q para que regrese al menu principal

    esto es lo que llevo:
    LF equ 10
    CR equ 13
    %include "macros2.asm"
    extern DespliegaLFCR, Cls,opcion1,opcion2
    segment pila stack
    resb 256
    segment vars data
    msje1 db "Bienvenidos!",LF,CR,"$"
    msje2 db "Selecciona una opcion",LF,CR,"$"
    msje3 db "1.- Conteo ascendente",LF,CR,"$"
    msje4 db "2.- Conteo descendente",LF,CR,"$"
    msje5 db "3.- Segmento circulante en sentido de las manecillas del reloj",LF,CR,"$"
    msje6 db "4.- Segmento circulante en sentido contrario a las manecillas del reloj",LF,CR,"$"
    msje7 db "5.- Ocho parpadeante",LF,CR,"$"
    msje8 db "6.- Salir",LF,CR,"$"

    segment principal code
    ..start:
    mov ax,vars ; Ajusta DS
    mov ds,ax


    call far Cls
    DespCadena msje1
    DespCadena msje2
    DespCadena msje3
    DespCadena msje4
    DespCadena msje5
    DespCadena msje6
    DespCadena msje7
    DespCadena msje8
    mov ah,0 ; Espera por cualquier tecla
    int 16h
    cmp al,"1"
    jmp proc

    cmp al,"2"
    jmp proc2
    ; cmp al,"3"
    ; jmp proc3
    ; cmp al,"4"
    ; jmp proc4
    ; cmp al,"5"
    ; jmp proc5
    ; cmp al,"6"
    ; jmp 21h

    proc: call far Cls
    DespCadena msje3
    call far opcion1

    proc2: call far Cls
    DespCadena msje3
    call far opcion2


    ;proc2: mov ds,ax
    ;proc3: mov ds,ax
    ;proc4: mov ds,ax
    Fin
    y esto lo puse en un procedimiento externo:
    global opcion1
    opcion1:
    mov ah,0
    int 16h
    retf
    ;----------------------------------------------------------------------------------
    global opcion2
    opcion2:
    ////aqui es donde yo creo que el procedimiento donde lee la q y se regresa al menu principal.
    mov ah,0
    int 16h
    retf
    ya se como leer las opciones pero ahora lo que necesito es que en cuanto se lea una opcion se teclee la letra q para que regrese al menu principal.

    Espero me puedan ayudar. Gracias
    Me gusta este mensaje
  • #4 Re: menu en ensamblador

    Mirá, no entiendo cómo te puede estar funcionando ese código (a propósito, lo pasteaste dos veces). Lo que tenés que hacer es lo siguiente:
    Código:
    mov ah, 0 ; Espera por cualquier tecla
    int 16h
    
    cmp al, '1'
    je proc
    cmp al, '2'
    je proc2
    cmp al, '3'
    je proc3
    ; etc...
    
    Al final de cada procedimiento podés hacer básicamente lo mismo...
    Código:
    no_es_q:
      mov ah, 0
      int 16h
      cmp al, 'q'
      jne no_es_q
      retf
    
    Suerte.
    Me gusta este mensaje
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 3 RESPUESTAS
  • 6153 VISTAS
  • 2 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB