azul macro
mov ah,0
mov al,3h
int 10h
mov ax,0600h
mov bh,0fh
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 ; esto es para el color de fondo y las letras
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h ; esto lo que hace es que una vez que haya cambiado la pantalla a color azul, se termina el programa
int 21h
endm
morado macro
mov ah,06h
mov bh,5eh ;esto es lo que cambia al procedimiento anterior
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
endm
color macro
mov ah,06h
mov bh,3fh ;esto es lo que cambia al procedimiento anterior
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
endm
.model small
.stack
.data
titulo db 13,10,' CAMBIAR FONDO DE PANTALLA',13,10,'$'
mensaje1 db 'Presione ENTER si quiere la pantalla azul. ',13,10,'$'
mensaje2 db 'Presione la tecla 2 si quiere morado',13,10,'$'
mensaje3 db 'Presione la tecla 3 si quiere azul bajito',13,10,'$'
.code
inicio:
;-------------------------------------------- para preparar pantalla
mov ah,0
mov al,3h ;modo texto
int 10h ;interrupcion de video
mov ax,0600h ;limpiar la pantalla
mov bh,0fh ; pone el color de fonodo negro
mov cx,0000h ; esto es para las esquinas
mov dx,184Fh
int 10h
mov ah,02h
mov bh,00
mov dh,00
mov dl,00
int 10h
;------------------------------------------------- mostrar mensajes
mov ax,@data ;esto es la parametrizacion
mov ds,ax
lea dx,titulo ;en estas lineas mostramos el titulo
mov ah,9h
int 21h
lea dx,mensaje1 ; mostramos el mensaje
mov ah,9h
int 21h
lea dx,mensaje2 ; mostramos el mensaje
mov ah,9h
int 21h
lea dx,mensaje3 ; mostramos el mensaje
mov ah,9h
int 21h
;--------------------------------------------------- capturacion de teclas
mov ah,08 ; pausa y capyuta la tecla que presione el usuario
int 21h ; esta interrupcion es para capturar
cmp al,13 ; verifica si se presiono enter
je llamarAzul ;manda llamar a la etiqueta correspondiente
cmp al,50 ;aqui verifica si se ingreso el numero 2 (el numero dos es el numero 50 en ascii)
je llamarMorado ;manda llamar la etiqueta correspondiente
cmp al,51 ;aqui verifica si se ingreso el numero 2 (el numero dos es el numero 50 en ascii)
je llamar ;manda llamar la etiqueta correspondiente
jmp fin ;si no se realiza nada, manda llamar a la etiqueta "fin"
;------------------------Etiquetas:
fin:
mov ax,4c00h
int 21h
llamarAzul: ; manda llamar rl procedimiento Azulproc
azul
llamarMorado: ; manda llamar el procedimiento Moracoproc
morado
llamar: ; manda llamar el procedimiento Moracoproc
color
ret
;--------------------------------------------------------------------------------------------------------------------------------------------------
No hay comentarios:
Publicar un comentario