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
0
Znajduje się to w układzie sterowania wyświetlacza (CTR Controller), w rejestrach 0E i 0F.
- dla kart MDA/mono EGA/mono VGA rejestr indeksowy:3B4 danych:3B5
- 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.