miércoles, 18 de abril de 2018

Buenos días /Buenas Tardes con Macros

Programa que haciendo uso de un macro, el usuario selecciona el momento en el que es y el programa decide si es de día o tardes.




FIN MACRO 
MOV AH, 4CH  ;TERMINACION DEL PROGRAMA
INT 21H       
ENDM
;---------------------------------------------------

PILA SEGMENT PARA STACK "STACK"
DB 200 DUP (0)                     ;ESPACIO DE LAS INSTRUCCIONES
PILA ENDS
;---------------------------------------------------

DATOS SEGMENT PARA "DATA" ;DATOS A INGRESAR
VA DB "DESPUES DE MEDIO DIA (Y/N): ","$" ;SELECCION DE INICIO DEL PROGRAMA
VD DB 13,10," BUENOS DIAS","$"           ;MENSAJES MOSTRADOS EN PANTALLA                
VT DB 13,10," BUENAS TARDES","$"         ;MENSAJES MOSTRADOS EN PANTALLA
DATOS ENDS
;---------------------------------------------------

CODIGO SEGMENT PARA "CODE"
EMPIEZA PROC FAR
ASSUME CS: CODIGO, DS: DATOS, SS: PILA

MOV AX, DATOS   ;MANDAR LLAMAR A DATOS
MOV DS, AX

MOV AH, 0FH
INT 10H
MOV AH, 00H
INT 10H 

MOV DX,OFFSET VA   ;IMPRIMIR MENSAJE "DESPUES DE MEDIO DIA"
MOV AH,9
INT 21H

CALL PREGUNTA

EMPIEZA ENDP

PREGUNTA PROC NEAR     ;Inicia el 

MOV AH, 01H   ;ESPERA UNA ACCION
INT 21H

CMP AL, "Y"   ;Asignar una accion a una tecla
JZ TARDES

CMP AL, "N"   ;Asignar una accion a una tecla
JZ DIAS

CMP AL, "y"   ;Asignar una accion a una tecla
JZ TARDES

CMP AL, "n"   ;Asignar una accion a una tecla
JZ DIAS   


TARDES: 

MOV DX, OFFSET VT   ;IMPRIMIR MENSAJE "BUENOS TARDES"
MOV AH, 09
INT 21H

FIN

DIAS:

MOV DX, OFFSET VD   ;IMPRIMIR MENSAJE "BUENOS DIAS"
MOV AH, 09
INT 21H 


FIN

RET
PREGUNTA ENDP   ;FIN DE PREGUNTA PROC

CODIGO ENDS
END EMPIEZA     ;FIN DEL PROGRAMA

No hay comentarios:

Publicar un comentario