236 9. Wykorzystanie procedur systemowych w programach użytkowych
AH = L2 (OCH) zapis punktu
we: CX - numer kolumy 0...639,
DX - numer wiersza 0...349,
< AL:6 > - kolor 0...63,
< AL = 0/1 > - OR/XOR,
BH - numer strony pamięci ekranu dla karty EGA.
AH = 13 (ODH) odczyt punktu
we: DX - numer wiersza 0...349,
CX - numer kolumny 0...639,
BH - numer strony pamięci ekranu dla karty EGA. wy: AL - kolor odczytanego punktu.
AH = 14 (OEH) zapis znaku i przesunięcie kursora (tryb dalekopisowy) we: AL - kod znaku,
BL - numer koloru (jeżeli tryb pracy w kolorze).
AH = 15 (OFH) odczyt aktualnego trybu pracy
wy: AL - tryb pracy (por. parametry dla AH =0). \Ä…
AH - liczba znaków w wierszu.
BH - numer aktywnej strony ekranu.
AH = 16 (10H) ustawienie rejestni palety kolorów dla karty EGA
we: AL = 0 - zapis do rejestru 0-15, .r
BL - adres rejestru,
BH - kolor 0...64,
AL = 1 - zapis do rejestru overscan, j
BH - kolor 0...64,
AL = 2 - zapis do wszystkich rejestrów koloru palety oraz overscan
17-bajtową tabelą adresowaną przez ES:DX (bajty 0...16-rejestry palety kolorów, bajt 17-overscan),
AL = 3 i BL = 0 - wyłączenie bitu podwyższonej jasności,
AL = 3 i BL = 1 - wyłączenie bitu wyświetlania migowego.
AH = 17 (11H) działania na generatorze znaków karty EGA (nic zmieniają zawartości ekranu)
we: AL = 0 - ładowanie generatora znaków z pamięci operacyjnej ES:BX - adres generatora znaków,
BL - blok 0...3, do którego nastąpi ładowanie,
DX - offset pierwszego znaku w bloku,
CX - liczba bajtów,
BH - liczba bajtów na znak,
AL = 1 - ładowanie generatora znaków 8 x 14 (tryb monochromatyczny) z pamięci ROM do bloku określonego przez BL,
AL = 2 - ładowanie generatora znaków 8x8 (podwójne punkty) z pamięci ROM do bloku określonego przez BL,
AL = 3 wybór obu generatorów znaków
BL < 3 > =1, BH < 2...3 > - numer bloku z generatorem,
BL < 3 > =0, BH < 0...1 > - numer bloku z generatorem,
AL = 32 (20H) - ładowanie graficznego generatora znaków 8 x 8 z pamięci operacyjnej za pomocą wektora przerwania INT 1FH ES:BX - adres zestawu znaków
AL = 33 (21H) - ładowanie graficznego generatora znaków z pamięci operacyjnej
CX - liczba bajtów na znak,
BL = 0 - liczba wierszy zdefiniowana w rejestrze DL,
BL = 1 - liczba wierszy równa 14,
BL = 2 - liczba wierszy równa 25,
BL = 3 - liczba wierszy równa 43,
AL = 34 (22H) - generator znaków ROM 8 x 14,
BL = 1 - liczba wierszy równa 14,
BL = 2 - liczba wierszy równa 25,
BL = 3 - liczba wierszy równa 43,
AL = 35 (23H) - generator znaków ROM 8x8,
BL jak dla AL = 34,
AL = 48 (30H) - odczyt aktualnego stanu generatora znaków BH = 0- INT 1FH,
BH = 1 - INT 44H,
BH = 2 - wskazanie na generator ROM 8 x 14,
BH = 3 - wskazanie na generator ROM 8x8 (podwójne kropki), BH = 4 - wskazanie na generator ROM 8x8 (górna połowa),
BH = 5 - wskazanie na alternatywny generator ROM 8 x 14 wy: ES:BX - adres generatora znaków,
CX - liczba bajtów na znak,
DL - liczba wierszy.
AH = 18 (12H) konfiguracja karty EGA
we: BL= 16 (10H) - odczyt konfiguracji (wy: BH = 0 - aktywny tryb kolorowy, BH = 1 - monochromatyczny),
BL = 32 (20H) - zmiana procedury drukowania kopii ekranu w 43 wierszach.
AH = 19 (13H) zapis na ekranie ciągu znaków (tryb dalekopisowy) we: ES:BX - adres początku ciągu znaków do zapisu,
CX - liczba znaków, DH/DL - pozycja pierwszego znaku,
BH - numer strony ekranu,
AL = 0 - znaki przesyłane kolejno, w BL atrybuty, kursor nie zmienia pozycji,
AL= 1 - znaki przesyłane kolejno, w BL atrybuty, kursor przesuwa się,
AL = 2 - znaki przesyłane na przemian z atrybutami, kursor w stałej pozycji,
AL = 3 - znaki przesyłane na przemian z atrybutami, kursor przesuwa się.