martes, 4 de abril de 2017

Programa #6

;===================================================================
 ; PROGRAMA : pe08_clp
 ; FUNCION : BORRA PANTALLA Y POSICIONA CURSOR.
 ; REALIZADO POR : Yesenia Lizbeth Guerrero Garcia
 ; FECHA : Miércoles 30 marzo 2017
 ;===================================================================

 ; DECLARACION DE CONSTANTES

 CR EQU 13                                                ; Constante CR (Retorno de carro)
 LF EQU 10                                                 ; Constante LF (Salto de l?nea)
 TECLADO_8 EQU 8
 IMPRIMIR_9 EQU 9
 FIN_4C00H EQU 4C00H                           ;fializa el programa y regresa al DOS
 DOS_21H EQU 21H
 BIOS_10H EQU 10H
 TAB EQU 09H
 BELL EQU 07H

 ; DECLARACION DEL SEGMENTO DE DATOS

 DATOS SEGMENT
 RENGLON DB 0
 COLUMNA DB 0
 MENSAJE DB CR,LF,'POSICION (x,y), del mensaje: Hola Mundo !'
 DB 'DESPUES DE BORRAR PANTALLA.',CR,LF,'$'
 DATOS ENDS

 ; DECLARACION DEL SEGMENTO DE PILA

 PILA SEGMENT STACK
     DW 100 DUP('0') ;DW: describe palabra
 PILA ENDS

 ; DECLARACION DEL SEGMENTO DE CODIGO

 CODIGO SEGMENT

     pe08_clp PROC FAR ; Inicio procedimiento pe08_cls

 ASSUME CS:CODIGO,DS:DATOS,SS:PILA

 MOV AX,DATOS                                            ; AX=Direcci?n del segmento de datos
 MOV DS,AX                                                    ; DS=AX. Indicar el segmento de datos
 LEA DX,MENSAJE                                         ; DS:DX = direcci?n de MENSAJE
 CALL LIMPIA_PANTALLA

 CALL POSICIONA_CURSOR                        ; Llama a procedimiento par posionar cursor.

 MOV AH,IMPRIMIR_9                                   ; Funci?n DOS para escribir texto en pantalla
 INT DOS_21H                                                   ; Llamar a la interrupci?n del DOS

 MOV AX,FIN_4C00H  ; Fin del programa
 INT DOS_21H


 pe08_clp ENDP                                                    ; Fin del procedimiento EJEMPLO

  LIMPIA_PANTALLA PROC NEAR
 MOV AX,01000H                                                ; Establecer modo texto y CLS
 MOV BH,6AH                                                      ; Colores de fondo  y texto .
 MOV CX,0000H                                                   ; Desde el inicio de pantalla
 MOV DX,484FH                                                   ; Hasta el fin de la pantalla Reng (48)72 col(79)4F
 INT BIOS_10H                                                      ; Interrupci?n que llama al BIOS
 RET
 LIMPIA_PANTALLA ENDP

 POSICIONA_CURSOR PROC NEAR
 MOV AH,02                                                           ; Servicio para Fija posicion del Cursor
 MOV BH,00                                                           ; Numero de pagina o pantalla
 MOV DH,RENGLON
 MOV DL,COLUMNA
 INT BIOS_10H
 RET

 POSICIONA_CURSOR ENDP

 CODIGO ENDS

END pe08_clp




No hay comentarios:

Publicar un comentario