BIOS_V.ASM

TITLE "BIOS_V" - BIOS Video-service, obslužné rutinky pro ovládání videa
.8086                               ; Linkuje se pro i8086
PAGE 67, 130                        ; Stránka 67 zn., délka 130 zn./řádek








COMMENT @
 ===========================================================================

  Název souboru  :   BIOS_V.ASM
  Link OBJ & LIB :   BIOS_V.ZIP
  Datum úprav    :   01.09.97
  Verze programu :   4.00
  (c) Copyright  :   1993,94,95,96,97 by NST 32 , Medo Zdeněk junior

 ===========================================================================@


Knihovna_NST32  SEGMENT PARA PUBLIC 'CODE' USE16
   ASSUME CS:Knihovna_NST32

   PUBLIC __bv_get_video_page  ; EXTRN __bv_get_video_page   :PROC :NEAR
   PUBLIC __bv_set_video_page  ; EXTRN __bv_set_video_page   :PROC :NEAR
   PUBLIC __bv_get_video_mode  ; EXTRN __bv_get_video_mode   :PROC :NEAR
   PUBLIC __bv_get_cursor_pos  ; EXTRN __bv_get_cursor_pos   :PROC :NEAR
   PUBLIC __bv_set_cursor_pos  ; EXTRN __bv_set_cursor_pos   :PROC :NEAR
   PUBLIC __bv_set_cursor_size ; EXTRN __bv_set_cursor_size  :PROC :NEAR







;---------------------------------------------------------------------------
;
;  Popis funkce  :   Přečti aktuální stránku videa.
;  --------------
;
;  Volání(např.) :   call    __bv_get_video_page     ; Zjisti aktuální stránku Videa
;  --------------
;
;  Výstup        :   BH    = Číslo stránky
;  --------------
;
;  Mění registry :   Flags, BX
;  --------------
;
;---------------------------------------------------------------------------

__bv_get_video_page  PROC  NEAR

    push    ax
    call    __bv_get_video_mode             ; Zjisti aktuální mód Videa
    pop     ax
    retn                                    ; Návrat NEAR

__bv_get_video_page    ENDP








;---------------------------------------------------------------------------
;
;  Popis funkce  :   Nastav novou aktuální stránku videa.
;  --------------
;
;  Volání(např.) :   mov     bh, Číslo stránky
;  --------------    call    __bv_set_video_page     ; Nastav novou stránku Videa
;
;  Mění registry :   Flags
;  --------------
;
;---------------------------------------------------------------------------

__bv_set_video_page  PROC  NEAR

    push   ax
    mov    ah, 05h                          ; Nastav novou stránku
    mov    al, bh                           ; Page
    int    10h
    pop    ax
    retn                                    ; Návrat NEAR

__bv_set_video_page    ENDP








;---------------------------------------------------------------------------
;
;  Popis funkce  :   Přečti aktuální mód videa.
;  --------------
;
;  Volání(např.) :   call    __bv_get_video_mode     ; Zjisti aktuální mód Videa
;  --------------
;
;  Výstup        :   AL    = Aktuální mód
;  --------------    AH    = Počet znaků na řádek
;                    BH    = Číslo stránky
;
;  Mění registry :   Flags, AX, BX
;  --------------
;
;---------------------------------------------------------------------------

__bv_get_video_mode  PROC  NEAR

    mov    ah, 0Fh                          ; Načti aktuální mód
    int    10h
    retn                                    ; Návrat NEAR

__bv_get_video_mode    ENDP








;---------------------------------------------------------------------------
;
;  Popis funkce  :   Přečti aktuální nastavení kurzoru.
;  --------------
;
;  Volání(např.) :   call    __bv_get_cursor_pos     ; Zjisti aktuální pozici kurzoru
;  --------------
;
;  Výstup        :   CH    = Počáteční linka kurzoru
;  --------------    CL    = Koncová linka kurzoru
;                    DH    = Řádek
;                    DL    = Sloupec
;
;  Mění registry :   Flags, CX, DX
;  --------------
;
;---------------------------------------------------------------------------

__bv_get_cursor_pos  PROC  NEAR

    push   ax bx
    call   __bv_get_video_page              ; Zjisti aktuální stránku Videa
    mov    ah, 03h                          ; Přečti polohu kurzoru
    int    10h
    pop    bx ax
    retn                                    ; Návrat NEAR

__bv_get_cursor_pos    ENDP








;---------------------------------------------------------------------------
;
;  Popis funkce  :   Nastav nové pozice kurzoru.
;  --------------
;
;  Volání(např.) :   mov     dh, Řádek               ; Pozice v řádku
;  --------------    mov     dl, Sloupec             ; Pozice v sloupci
;                    call    __bv_set_cursor_pos     ; Nastav novou pozici kurzoru
;
;  Mění registry :   Flags
;  --------------
;
;---------------------------------------------------------------------------

__bv_set_cursor_pos  PROC  NEAR

    push   ax bx
    call   __bv_get_video_page              ; Zjisti aktuální stránku Videa
    mov    ah, 02h                          ; Nastav polohy kurzoru
    int    10h
    pop    bx ax
    retn                                    ; Návrat NEAR

__bv_set_cursor_pos    ENDP








;---------------------------------------------------------------------------
;
;  Popis funkce  :   Nastav novou velikost kurzoru.
;  --------------
;
;  Volání(např.) :   mov     ch, Poč.                ; Počáteční linka kurzoru
;  --------------    mov     cl, End.                ; Koncová linka kurzoru
;                    call    __bv_set_cursor_size    ; Nastav velikost kurzoru
;
;  Mění registry :   Flags
;  --------------
;
;---------------------------------------------------------------------------

__bv_set_cursor_size  PROC  NEAR

    push   ax
    mov    ah, 01h                          ; Nastav velikost kurzoru
    int    10h
    pop    ax
    retn                                    ; Návrat NEAR

__bv_set_cursor_size   ENDP





Knihovna_NST32  ENDS
END
		



© Copyright 1992-2008 by Zdeněk MEDO jr.