pila segment stack 'stack'
db 100h dup (?)
pila ends
datos segment
titulo db 13,10,'CAMBIAR FONDO DE PANTALLA',13,10,10,'Menu:',13,10,10,'$'
mensaje db '1. Pantalla gris y letras blancas',13,10,'2. Pantalla verde y letras amarillas ',13,10,'3. Pantalla azul y letras celestes',13,10,'4. Pantalla morada y letras verdes',13,10,10,'Para salir, presione cualquier tecla...',13,10,'$'
datos ends
codigo segment ;segmento de codigo
assume cs:codigo, ss:pila, ds:datos
inicio:
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 ax,datos
mov ds,ax
lea dx,titulo
mov ah,9h
int 21h
lea dx,mensaje
mov ah,9h
int 21h
mov ah,08
int 21h
cmp al,49
je llamargris
cmp al,50
je llamarverde
cmp al,51
je llamarazul
cmp al,52
je llamarmorado
jmp fin
fin:
mov ax,4c00h
int 21h
llamargris:
CALL GRISPROC
llamarverde:
CALL VERDEPROC
llamarazul:
CALL AZULPROC
llamarmorado:
CALL MORADOPROC
GRISPROC PROC NEAR
mov ah,0
mov al,6h
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,71h
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
GRISPROC ENDP
VERDEPROC PROC NEAR
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,2eh
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
VERDEPROC ENDP
AZULPROC PROC NEAR
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,1bh
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
AZULPROC ENDP
MORADOPROC PROC NEAR
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,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