miércoles, 7 de marzo de 2018

Aportacion de Eduardo Silva----- uso de Loop



Eduardo Silva
;Emu8086

pila segment stack 'stack'
    db 100h dup (?)
pila ends

datos segment             ;texto e instrucciones.
av db 13,10,' Presione 1 o 2 ',13,10,'$'
    msj db 13,10,' Lenguaje ensamblador ',13,10,'$'
    m db 13,10,' Lenguaje de Interfaz ',13,10,'$'
datos ends


codigo segment ;segmento de codigo
    assume cs:codigo, ss:pila, ds:datos

    inicio:
  
        mov ax, datos
        mov ds, ax
    
lea dx,av
        mov ah,9h
        int 21h
    
        mov ah,08   ;pausa y captura datos 08 espera que el usuario presione una tecla
        int 21h
      
cmp al,49      ;verifica si presiono 1
        je pOpcion

cmp al,50      ;verifica si presiono 2
        je sOpcion    
      
jmp fin           ;finaliza en caso de no recibir respuesta de enter o 2

    fin:  
mov ax,4c00h
int 21h
                        
    pOpcion:
        CALL PO
      
    sOpcion:
        CALL SO

      
    PO PROC NEAR
        mov ah, 9h
lea dx, msj
mov cx, 12
print_LOOP:
int 21h
loop print_LOOP
mov ax,4c00h
int 21h
    RET
    PO ENDP


    SO PROC NEAR
        mov ah, 9h
lea dx, m
mov cx, 12
pLOOP:
int 21h
loop pLOOP 
mov ax,4c00h
int 21h                             
    RET
    SO ENDP


codigo ends
end inicio

No hay comentarios:

Publicar un comentario