domingo, 11 de marzo de 2018

C O L O R & L O O P




;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