martes, 4 de abril de 2017

Programa #5

;==================================================================
 ; PROGRAMA : pe07_cur
 ; FUNCION : Posiciona el cursor en cordenada determinada.
  ; 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 !',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

 pe07_cur PROC FAR                         ; Inicio procedimiento pe06_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

 pe07_cur ENDP                                  ; Fin del procedimiento EJEMPLO

  LIMPIA_PANTALLA PROC NEAR
 MOV AX,01000H                                ; Establecer modo texto y CLS
 MOV BH,6AH                                     ; Colores de fondo (negro=0) y texto (verde=A).
 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 pe07_cur




No hay comentarios:

Publicar un comentario