;EMU8086
;LENGUAJES DE
INTERFAZ 7:00-8:00
;JUEVES-08-03-2018
;LUZ EDITH PEREZ
& SARAHI CM
org 100h
.stack 64
.data
titulo db 13,10,'COLOR &
LOOP',13,10,'$'
mensaje db '-Presione 0 para volver al
inicio',13,10,'-Presione 1 para azul',13,10,'-Presione 2
para morado',13,10,'$'
mensaje1 db 'Pantalla en color azul',13,10,'$'
mensaje2 db 'Pantalla en color morado',13,10,'$'
.code
inicio: ;Funcion--------------------------------------
mov ax,@data ;llamar a .data
mov ds,ax ;guardar
los datos en ds
lea dx,titulo ;imprimir el mensaje
mov ah,9h
int 21h
lea dx,mensaje ;imprimir mensaje
mov ah,9h
int 21h
;---------------------------------------------------
mov ah,08 ;pausa y espera a que el usuario precione una tecla
int 21h ;interrupcion para capturar
cmp al,48 ;
je llamarDefault
cmp al,49
je
llamarAzul
cmp al,50
je
llamarMorado
jmp fin
fin:
mov ax,4c00h ;funcion
que termina el programa
int 21h
llamarDefault: ;llama al procedimiento
CALL DEFAULT
llamarAzul:
CALL AZULPROC ;llama
al procedimiento
llamarMorado:
CALL
MORADOPROC ;llama al
procedimiento
DEFAULT PROC NEAR
mov ah, 0 ;limpia el registro
mov al,3h ;modo
de texto
int 10h
mov ax,0600h
mov bh,07h
mov cx,0000h
mov dx,184Fh
int 10h
CALL inicio
DEFAULT ENDP
AZULPROC PROC NEAR
mov ah,0
mov al,3h ;modo de texto
int 10h
mov ax,0600h
mov bh,1fh
mov cx,0000h ;0 color negro , f color de letra blanca
mov dx,184Fh
int 10h ;interrupcion
de video
mov ah,9h
lea dx,mensaje1
mov cl,0ah ; el numero de repeticiones
aLOOP:
int 21h
loop aLOOP
CALL inicio
RET
AZULPROC ENDP
MORADOPROC PROC NEAR
mov ah,0
mov al,3h
int 10h ;interrupcion
de video
mov ax,0600h
mov bh,5fh
mov cx,0000h ;es la esquina superior izquierda reglon: columna
mov dx,184Fh ;es la esquina inferior derecha reglon: columna
int 10h ;interrupcion
de video
mov ah,9h
lea dx,mensaje2
mov cl,0ah
mLOOP:
int 21h
loop mLOOP
CALL inicio
RET
MORADOPROC ENDP
end inicio


No hay comentarios.:
Publicar un comentario