lunes, 3 de abril de 2017

Programa#6

; PROGRAMA : pe08_clp
; FUNCION : BORRA PANTALLA Y POSICIONA CURSOR.
; REALIZADO POR :Jose Juan Muñiz Hernandez

------------------------------------------------------------------

; 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




0 comentarios:

Publicar un comentario