[TextMode+PMode] Pobieranie pozycji kursora

0

Witam.
Męcze się z tym od 2 dni. Szukam sposobu na pobranie z PMode lokalizacji kursora tekstowego.
Próbowałem już pobierać dane z pod adresu 0x450 i 0x451, ale adresy od 0x450 - 0x460 mają wartości 0 (wg. kursu ASM'a tam powinny być lokalicaje kursora :/). Ma koś jakiś inny pomysł???
Pozdrawiam :)

0

Znajduje się to w układzie sterowania wyświetlacza (CTR Controller), w rejestrach 0E i 0F.

  1. dla kart MDA/mono EGA/mono VGA rejestr indeksowy:3B4 danych:3B5
  2. dla kart CGA/MCGA/color EGA/color VGA rejestr indeksowy:3D4 danych:3D5

Poprzez rejest indeksowy podajesz numer rejestru CRT, do którego chcesz coś zapisać lub odczytać. Zapis/odczyt wykonujesz przez rejestr danych.

Przykład dla kart z punktu nr 2:

mov	dx,	0x3D4
mov	al,	0x0E
out	dx,	al
mov	dx,	0x3D5
in	al,	dx
mov	bh,	al
mov	al,	0x0F
mov	dx,	0x3D4
out	dx,	al
mov	dx,	0x3D5
in	al,	dx
mov	bl,	al

W bx otrzymujesz numer znaku, na którym jest aktualnie kursor. Jak wynika z kodu bardziej znaczący bajt znajduje się w rejestrze 0x0E, a mniej znaczący 0x0F.

1 użytkowników online, w tym zalogowanych: 0, gości: 1