pila segment stack "stack" ;segmento de pila
db 100h dup (?) ;a partir de la direccion de 100 de la pila
pila ends
datos segment
titulo db 13,10," cambiar fondo de pantalla ",13,10 ,"$"
mensaje db "presione ENTER si quiere que la pantalla azul.Siquiere morado presione 2",13,10,"para salir presione cualquier tecla",13,10,"$"
datos ends
codigo segment ;segmento de codigo
assume cs:codigo, ss:pila, ds:datos
inicio:
;...........................................preparar pantalla
mov ah,0
mov al,3h ;modo texto
int 10h ;interrupcion de video
mov ax,0600h ;limpiar pantalla
mov bh,0fh ;0 color de fondo negro, f color de letra blanco
mov cx,0000h
mov dx,784fh
int 10h
mov ah,02h
mov bh,00
mov dh,00
mov dl,00
int 10h
;..............................................mostrar mensajes
mov ax,datos
mov ds,ax
lea dx,titulo
mov ah,9h
int 21h
lea dx,mensaje
mov ah,9h
int 21h
;.........................................captura de teclas
mov ah,08 ;pausa y captura de datos 05 espera que el usuario presione una tecla
int 21h
cmp al,13 ;verifica si presiono Enter,el cual tiene un codigo ascii
je llamarAzul ;salto condicional jump equals opcion 1 saltar si es igual ala opcion 1
cmp al,50 ;ascii 50= numero 2 compara lo que tiene el registro ah con el ascii 50 en el reg ah
je llamarMorado
jmp fin ;si no escoge ni enter ni 2, sale del programa
fin: ;saca el mensaje por pantalla
mov ax,4c00h
int 21h
llamarAzul:
CALL AZULPROC
llamarMorado:
CALL MORADOPROC
;........................................................................
AZULPROC PROC NEAR
mov ah,0
mov al,3h ;modo texto
int 10h ;interrupcion de video
mov ax,0600h ;limpiar pantalla
mov bh,0fh ;0 color de fondo negro, f color de letra blanco
mov cx,0000h
mov dx,184fh
int 10h
mov ah,02h
mov bh,00
mov dh,00
mov dl,00
int 10h
;;;;;;//////////////
mov ah,06h
mov bh,1fh
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
AZULPROC ENDP
;----------------------------------
MORADOPROC PROC NEAR
mov ah,06h
mov bh,5fh
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
MORADOPROC ENDP
codigo ends
end inicio
No hay comentarios.:
Publicar un comentario