1. Programa que cambia el color de la pantalla:
;Programa que Cambia el color de la pantalla - Edgar Emmanuel Mendez Ruiz
PILA SEGMENT STACK 'STACK'
DB 100H DUP (?)
PILA ENDS
DATOS SEGMENT
MENSAJE DB 'Se ha cambiado el color de la pantalla$'
DATOS ENDS
CODIGO SEGMENT
ASSUME CS:CODIGO, SS:PILA, DS:DATOS
INICIO:
MOV AH,06H
MOV BH,2FH
MOV CX,0000H
MOV DX,184FH
INT 10H
MOV AH,02H
MOV BH,00H
MOV DX,0000H
INT 10H
MOV AX,DATOS
MOV DS,AX
LEA DX,MENSAJE
MOV AH,9H
INT 21H
MOV AX,4C00H
INT 21H
CODIGO ENDS
END INICIO
2. Programa que cambia el color de pantalla mediante opciones:
Pila segment stack 'stack' ;Segmento de la pila
db 100h dup (?) ; A partir de la direccion 100 de la pila.
Pila ends
datos segment
titulo db 13,10,' CAMBIAR FONDO DE PANTALLA ',13,10,'$'
mensaje db 'Presione ENTER si quiere la pantalla azul ' , ' Si quiere 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 ; O Color de fondo negro, el 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
;****************************** MOSTRAR MENSAJE
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 db espera que el usuario presiona una tecla
int 21h
cmp al,13 ; Verifica al presionar ENTER, el cual tiene un codigo ascii
je llamarAzul ; Salto Condicional jump equals opcion 1 saltar si es igual a la opcion 1
cmp al,50 ; Ascii 50 = numero 2 compara lo que tiene el regisro ah con el ascii 50 en el reg a1
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
;****************************** STORE PROCEDURE AZUL
AZULPROC PROC NEAR
mov ah,0
mov al,3h ; Modo Texto
int 10h ; Interrupcion de video
mov ax,0600h ; Limpiar Pantalla
mov bh,0fh ; 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 ;2fh
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
AZULPROC ENDP
;*****************************************STORED PROCEDURE MORADO
MORADOPROC PROC NEAR
mov ah,06h
mov bh,5fh ;2fh;3 para azul, 4 para guinda, 5 morado
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
MORADOPROC ENDP
codigo ends
end inicio ; Podemos Asignar desde se inicia PC
0 comentarios:
Publicar un comentario